linux ssh免密码登录详解 落日映苍穹つ 2022-06-17 03:54 484阅读 0赞 ## **一.ssh免密码登录需求** ## 在我们处理集群或分布式系统时,经常会涉及到多个linux系统服务器。而在多个服务器间通信或资源共享时,如scp命令文件拷贝,需要录入密码校验,使操作过于繁琐,当密码精度过高时,整个操作更不方便。 那如何处理多个系统间免密码登录? 1. 各服务器系统不设置密码,但此安全性不能保证,不推荐。 2.通过ssh实现免密码登录。 ## 二.ssh免密码登录原理 ## 在客户端服务器通过ssh-gen命令生成一个公钥/私钥,将生成的公钥拷贝到待免密码登录的服务器,最后通过密钥加密解密配对的形式实现登录,ssh免密码登录的流程如下: ![1240][] ssh免密码原理 ## 三.ssh免密码登录前期准备 ## ssh安装检查命令:rpm -qa|grep openssh\* 如果无内容输出,表示未安装。 安装命令:yum -y install openssh ## 四.ssh免密码登录配置 ## 定位到根目录,命令如下: 创建(.ssh)目录-命令:mkdir .ssh 生成ssh公私密钥-命令:ssh-keygen -t rsa 直接持续回车 拷贝公钥到认证文件-命令:cat ~/.ssh/id\_rsa.pub >> ~/.ssh/authorized\_keys 具体命令和文件如下: ![1240 1][] ssh系统配置文件修改-命令: vi /etc/ssh/sshd_config PermitRootLogin yes StrictModes no RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no 五.ssh免密码登录实践 1.本地免密码登录 测试命令:ssh localhost 如果不需要输入密码,表示本地配置成功。 退出ssh命令:exit ![1240 2][] 单系统测试 2.多系统免密码登录 服务系统A:192.168.65.128 服务系统B:192.168.65.129 服务系统A连接服务系统B 2.1 服务系统B相关配置类似1(本地免密码登录)。 2.2 拷贝服务系统A中公钥id\_rsa.pub到服务系统B scp id\_rsa.pub root@192.168.65.129:/opt/software/ 2.3 在服务系统B中将服务系统A拷贝的公钥文件写入到认证文件 cat id\_rsa.pub >> ~/.ssh/authorized\_keys ![1240 3][] 认证文件写入 2.4 服务系统A测试登录服务系统B ![1240 4][] 服务系统A登录服务系统B ## 六. Win7 通过SecureCRT登录服务系统A ## 正常Win7可以通过账号密码登录服务系统A。但当linux服务系统设置ssh免密码登录后,正常的Win7账号密码登录就会出错。 ![1240 5][] 解决办法: 1. 服务系统A将生成的私钥id\_rsa拷贝到Win7 2. secureCRT登录时,根据publicKey方式登录 ![1240 6][] PublicKey登录方式 3.导入服务系统A中的私钥id\_rsa ![1240 7][] 确认后,看看是否能正常登录。 希望对您有帮助!!! [1240]: /images/20220617/04c98f88ff4c42f590cea5d1004953ed.png [1240 1]: /images/20220617/a92efd43dab849078111d3c9108857a7.png [1240 2]: /images/20220617/8571dda4f60b4c8c8151596ec9c37e1e.png [1240 3]: /images/20220617/c531a03f169b4fde990f2ecd9641c3d8.png [1240 4]: /images/20220617/da65b40e7b964555b4dca49dbcabea94.png [1240 5]: /images/20220617/d87a1c613faf42d4bc7ec307a3ccb9e6.png [1240 6]: /images/20220617/9c1c0b924e6342eca4d0b8b62ca0380c.png [1240 7]: /images/20220617/46840ab2e0164fefa324095a3f714d0f.png
还没有评论,来说两句吧...