linuxA免密码登录B

现在有两台linux服务器A192.168.1.111B192.168.1.112

 

1、A192.168.123.111)生成公钥私钥对,命令如下:

   ssh-keygen  -t rsa -P ‘’,如图:

wKiom1cFssvR6AqeAAGgRAe9seo341.jpg

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

2、/root/目录下生成了id_rsaid_rsa.pub文件,如图:

wKiom1cFs1KDZb0eAADImTeEeUw278.jpg

id_rsa是私钥,id_rsa.pub是公钥。

3、将公钥复制到B192.168.1.112)的/root/.ssh/目录下,命令:

wKiom1cFs2XQjCMiAABShxlV_kY047.jpg

根据提示输入root用户密码,按回车则提示复制成功,如图:

wKiom1cFs4WTPCWtAABBzjXhKTM686.jpg

登录B192.168.1.112)服务器并切换到/root/.ssh/目录,如图:

wKioL1cFtFrwUKvqAAB76ZcLnWM304.jpg

id_rsa.pub的内容添加到authorized_keys中,命令:

Cat id_rsa.pub>>authorized_keys

如图:

wKiom1cFs8rAAPcvAABEsHQ5T0o695.jpg

修改authorized_keys权限为600,命令:

Chmod 600 authorized_keys

如图:

wKioL1cFtJCyN7OUAAA9b83Xi0Y128.jpg

4、密钥设置成功后,A服务器则可以免密码访问B,命令:

   Ssh 192.168.1.112

如图:

wKioL1cFtKTDM6lfAABiadCtUyo831.jpg

如果出现如下错误,如图:

wKioL1cFtL6zSJnvAABs4JyNE_s562.jpg

原因是两台服务器的名称是一样的,需要修改其中一台机器的名称,命令:

Vi /etc/sysconfig/network,如图:

wKiom1cFtCrwIovYAAAjzU200rg723.jpg

修改HOSTNAME即可。

若修改名称后还提示此错误则修改本地A192.168.1.111/etc/ssh/ssh_config,把参数GSSAPIAuthentication 修改为no,把远程B192.168.1.112/etc/ssh/sshd_config ,把参数GSSAPIAuthentication修改为 no