做网站怎么发展客户,百度教育智能小程序,网店运营心得体会,怎么自己创建网站前言 本文基于实际Linux管理工作#xff0c;实例讲解工作中使用ssh证书登录的实际流程#xff0c;讲解ssh证书登录的配置原理#xff0c;基于配置原理#xff0c;解决实际工作中#xff0c;windows下使用SecureCRT证书登录的各种问题#xff0c;以及实现hadoop集群部署要…前言 本文基于实际Linux管理工作实例讲解工作中使用ssh证书登录的实际流程讲解ssh证书登录的配置原理基于配置原理解决实际工作中windows下使用SecureCRT证书登录的各种问题以及实现hadoop集群部署要求的无密码跳转问题。 ssh有密码登录和证书登录初学者都喜欢用密码登录甚至是root账户登录密码是123456。但是在实际工作中尤其是互联网公司基本都是证书登录的。内网的机器有可能是通过密码登录的但在外网的机器如果是密码登录很容易受到攻击真正的生产环境中ssh登录都是证书登录。 证书登录的步骤 1.客户端生成证书:私钥和公钥然后私钥放在客户端妥当保存一般为了安全访问有黑客拷贝客户端的私钥客户端在生成私钥时会设置一个密码以后每次登录ssh服务器时客户端都要输入密码解开私钥(如果工作中你使用了一个没有密码的私钥有一天服务器被黑了你是跳到黄河都洗不清)。 2.服务器添加信用公钥把客户端生成的公钥上传到ssh服务器添加到指定的文件中这样就完成ssh证书登录的配置了。 假设客户端想通过私钥要登录其他ssh服务器同理可以把公钥上传到其他ssh服务器。 真实的工作中:员工生成好私钥和公钥(千万要记得设置私钥密码)然后把公钥发给运维人员运维人员会登记你的公钥为你开通一台或者多台服务器的权限然后员工就可以通过一个私钥登录他有权限的服务器做系统维护等工作所以员工是有责任保护他的私钥的如果被别人恶意拷贝你又没有设置私钥密码那么服务器就全完了员工也可以放长假了。 客户端建立私钥和公钥 在客户端终端运行命令 ssh-keygen -t rsa rsa是一种密码算法还有一种是dsa证书登录常用的是rsa。 假设用户是blue,执行 ssh-keygen 时才会在我的home目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys 分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。 另外就是私钥的密码了如果不是测试不是要求无密码ssh那么对于passphrase不能输入空(直接回车),要妥当想一个有特殊字符的密码。 ssh服务端配置 ssh服务器配置如下: vim /etc/ssh/sshd_config
#禁用root账户登录非必要但为了安全性请配置
PermitRootLogin no# 是否让 sshd 去检查用户家目录或相关档案的权限数据
# 这是为了担心使用者将某些重要档案的权限设错可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时某些特殊情况下会不许用户登入
StrictModes no# 是否允许用户自行使用成对的密钥系统进行登入行为仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys#有了证书登录了就禁用密码登录吧安全要紧
PasswordAuthentication no 配置好ssh服务器的配置了那么我们就要把客户端的公钥上传到服务器端然后把客户端的公钥添加到authorized_keys 在客户端执行命令 scp ~/.ssh/id_rsa.pub bluessh_server_ip:~ 在服务端执行命令 cat id_rsa.pub /.ssh/authorized_keys 如果有修改配置/etc/ssh/sshd_config需要重启ssh服务器 /etc/init.d/ssh restart 客户端通过私钥登录ssh服务器 ssh命令 ssh -i /blue/.ssh/id_rsa bluessh_server_ip scp命令 scp -i /blue/.ssh/id_rsa filename bluessh_server_ip:/blue 每次敲命令都要指定私钥是一个很繁琐的事情所以我们可以把私钥的路径加入ssh客户端的默认配置里 修改/etc/ssh/ssh_config #其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
IdentityFile ~/.ssh/id_rsa
#如果有其他的私钥还要再加入其他私钥的路径
IdentityFile ~/.ssh/blue_rsa 其他应用场景 SecureCRT密钥key远连接程ssh证书登录Linux 国内大部分人用的系统是windows而windows下有很多ssh客户端图形工作最流行功能最强大的就是SecureCRT了所以我会单独针对SecureCRT简单讲下实现ssh证书登录Linux的要点,步骤如下: 1:在SecureCRT创建私钥和公钥:主菜单-工具-创建公钥-选择RSA-填写私钥的密码-密钥长度填为1024-点击完成生成两个文件,默认名为identity和identity.pub 2.把私钥和公钥转换为OpenSSH格式:主菜单-工具-转换私钥到OpenSSH格式-选择刚生成私钥文件identity-输入私钥的密码-生成两个文件指定为id_rsa,id_rsa.pub 3.把公钥id_rsa.pub上传到ssh服务器按照之前配置服务器端的证书再配置一次。 另外如果你之前用windows的 SecureCRT的证书登录linux的有一天你换成了linux并希望通过原来的私钥登录公司的服务器那么可以把id_rsa拷贝倒~/.ssh/目录下配置ssh客户端参考上文。 备注:ssh对证书的文件和目录权限比较敏感要么根据出错提示设置好文件和目录权限要么是把StrictModes选项设置为no hadoop部署的无密码ssh登录 hadoop要求master要无密码跳转到每个slave,那么master就是上文中的ssh客户端了步骤如下 在hadoop master上生成公钥私钥这个场景下私钥不能设置密码。 把公钥上传到每个slave上指定的目录这样就完成了ssh的无密码跳转了。 总结 ssh证书登录在实际工作才是最常用的登录方式本人结合了真正工作的场景普及了ssh证书登录的知识并根据流行的hadoop部署和windows下最常用的SecureCRT实例讲解了证书登录。转载于:https://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646346.html