linux ssh免密码登陆

作者: a123demi | 来源:发表于2017-04-15 23:19 被阅读316次

    一.ssh免密码登陆需求

            在我们处理集群或分布式系统时,经常会涉及到多个linux系统服务器。而在多个服务器间通信或资源共享时,如scp命令文件拷贝,需要录入密码校验,使操作过于繁琐,当密码精度过高时,整个操作更不方便。

            那如何处理多个系统间免密码登陆?

            1. 各服务器系统不设置密码,但此安全性不能保证,不推荐。

            2.通过ssh实现免密码登陆。

    二.ssh免密码登陆原理

            在客户端服务器通过ssh-gen命令生成一个公钥/私钥,将生成的公钥拷贝到待免密码登陆的服务器,最后通过密钥加密解密配对的形式实现登陆,ssh免密码登陆的流程如下:

    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

    具体命令和文件如下:

    ssh系统配置文件修改-命令:vi /etc/ssh/sshd_config

    PermitRootLogin yes

    StrictModes no

    RSAAuthentication yes

    PubkeyAuthentication yes

    PasswordAuthentication no

    五.ssh免密码登陆实践

    1.本地免密码登录

    测试命令:ssh localhost

    如果不需要输入密码,表示本地配置成功。

    退出ssh命令:exit

    单系统测试

    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

    认证文件写入

    2.4 服务系统A测试登录服务系统B

    服务系统A登录服务系统B

    六. Win7 通过SecureCRT登录服务系统A

    正常Win7可以通过账号密码登录服务系统A。但当linux服务系统设置ssh免密码登录后,正常的Win7账号密码登录就会出错。

    解决办法:

    1. 服务系统A将生成的私钥id_rsa拷贝到Win7

    2. secureCRT登录时,根据publicKey方式登录

    PublicKey登录方式

    3.导入服务系统A中的私钥id_rsa

    确认后,看看是否能正常登录。

    希望对您有帮助!!!

    相关文章

      网友评论

        本文标题:linux ssh免密码登陆

        本文链接:https://www.haomeiwen.com/subject/qhvmattx.html