A(192.168.1.66),B(192.168.1.77),现在从A免密码登陆到B。
1.在B上设置sshd,打开公钥登陆验证
找到
- vi /etc/ssh/sshd_config
重启sshd服务
- RSAAuthentication yes
- PubkeyAuthentication yes
- AuthorizedKeysFile .ssh/authorized_keys
- service sshd restart
2.在A上生成公钥/私钥对
-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
- ssh-keygen -t rsa -P ''
该命令会在 ~ 下生成 .ssh 目录,目录里面有 id_rsa 和 id_rsa.pub 两个文件
其中 id_rsa 是私钥,id_rsa.pub 是公钥。
3.将A下的 id_rsa.pub 通过 scp 复制到B上
因为还没有设置好无密码登陆,所以这里还要输入一次B上 user 的密码登陆
- scp ~/.ssh/id_rsa.pub user@192.168.1.77/home/user/id_rsa.pub
4.在B上将A的公钥添加到 ~/.ssh/authorized_keys 文件里
- cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
5.注意修改 ~/.ssh/authorized_key 的权限为 600
- chmod 600 ~/.ssh/authorized_keys
6.在A上用ssh登陆B
第一次登陆需要输入 yes
- ssh -l user 192.168.1.77
注意:
B上 ~/.ssh 目录权限一定要是 700, ~/.ssh/authorize_key 权限一定要是 600
而且所有者和用户组都要是user
如果登陆不上,要输入密码,除开公钥对不上,一般都是权限和所有者不对