linux下A免密码登录B
现在有两台linux服务器A:192.168.1.111,B:192.168.1.112
1、在A(192.168.123.111)生成公钥私钥对,命令如下:
ssh-keygen -t rsa -P ‘’,如图:
-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
2、在/root/目录下生成了id_rsa、id_rsa.pub文件,如图:
id_rsa是私钥,id_rsa.pub是公钥。
3、将公钥复制到B(192.168.1.112)的/root/.ssh/目录下,命令:
根据提示输入root用户密码,按回车则提示复制成功,如图:
登录B(192.168.1.112)服务器并切换到/root/.ssh/目录,如图:
将id_rsa.pub的内容添加到authorized_keys中,命令:
Cat id_rsa.pub>>authorized_keys
如图:
修改authorized_keys权限为600,命令:
Chmod 600 authorized_keys
如图:
4、密钥设置成功后,A服务器则可以免密码访问B,命令:
Ssh 192.168.1.112
如图:
如果出现如下错误,如图:
原因是两台服务器的名称是一样的,需要修改其中一台机器的名称,命令:
Vi /etc/sysconfig/network,如图:
修改HOSTNAME即可。
若修改名称后还提示此错误则修改本地A(192.168.1.111)/etc/ssh/ssh_config,把参数GSSAPIAuthentication 修改为no,把远程B(192.168.1.112)/etc/ssh/sshd_config ,把参数GSSAPIAuthentication修改为 no。
转载于:https://blog.51cto.com/5870122/1761155