linux远程登录ssh免密码
假如我们现在有两台机器:PCA和PCB,现在想要让PCA不用输入密码就能够进行访问PCB。
二、方法和原理:
可以使用ssh-keygen -t rsa (注意:一路回车即可)在PCA上生成private和pu
一、问题: 假如我们现在有两台机器:PCA和PCB,现在想要让PCA不用输入密码就能够进行访问PCB。 二、方法和原理: 可以使用ssh-keygen -t rsa (注意:一路回车即可)在PCA上生成private和public密钥,将生成的public密钥拷贝到远程机器PCB上后, 就可以使用ssh命令无需密码登录到另外一台机器PCB上。 在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法【默认是DSR算法】, 该工具作为linux系统的远程管理是非常安全的。 三、实验步骤: 1、登录PCA 2、ssh-keygen -t rsa,将会生成公钥和私钥文件id_rsa.pub和id_rsa 【一直回车下去Linux 远程登录,这两个文件应该在/home/$USER/.ssh下面】 3、将id_rsa.pub文件复制到PCB机器的 .ssh 目录下,并保存为authorized_keys 可以使用:ssh-cop-id命令会将指定的公钥文件复制到远程计算机。 ssh-copy-id -i id_rsa.pub test@192.168.127.151 4.大功告成,从PCA机器登录PCB机器的目标账户,不再需要密码了。 5、设置文件和目录权限【这一步可以省略,但是为了安全起见,加上也是有必要的~】 设置authorized_keys权限 chmod 644 authorized_keys 设置.ssh目录权限 chmod 700 -R .ssh 6、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。 (今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。 报错: The authenticity of host '192.168.127.150 (192.168.20.150)' can't be established. RSA key fingerprint is 6a:37:c0:e1:09:a4:21:8d:68:d0:ca:21:20:94:be:11 Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.127.150' (RSA) to the list of known hosts. root@192.168.127.150's password: Permission denied, please try again. root@192.168.127.150's password: Permission denied, please try again. root@192.168.127.150's password: Permission denied (publickey,gssapi-with-mic,password). 7、如果ssh想免密码登录自己,只需将在.ssh文件下执行copy id_rsa.pub authorized_keys即可。 备注: 1、如果添加公钥后,还是无法访问,可能是PCA主机上面的一个文件known_hosts中已经存在PCB的ip信息,删除重新访问即可。 2、如果以上方法尝试过后还是不行,可能是因为登录失败次数过多被锁定,这个时候就需要去看看系统日志了/var/log/messages,将之前的锁定信息日志删除就可以了。 祝大家好运!!! 四、快捷方式: 假如A登录B,那么需在A上操作: 1、生成密钥对,命令如下: ssh-keygen 一路回车即可。 2、将A的密钥对添加到B的authorized_keys中,命令如下: ssh-copy-id B (编辑:南京站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |