首先,说明一下我们要做的是,serverA 服务器的 userA 用户免密码登录 serverB 服务器的 userB用户。
我们先使用userA 登录 serverA 服务器

本例为root,所以没有使用su命令
然后在serverA上生成密钥对
ssh-keygen -t rsa
所有问题直接按回车

此时会在 ~/.ssh目录下生成密钥对

然后将公钥上传到serverB服务器的,并以userB用户登录
ssh-copy-id userb@10.124.84.20
如果找不到ssh-copy-id命令,可以执行以下命令安装:
sudo yum install openssh-clients
其中,10.124.84.20为serverB的IP

会提示输入serverB的密码,请输入。
另外我们要注意,.ssh目录的权限为700,其下文件authorized_keys和私钥的权限为600。否则会因为权限问题导致无法免密码登录。我们可以看到登陆后会有known_hosts文件生成。
另外,将公钥拷贝到服务器的~/.ssh/authorized_keys文件中方法有如下几种:
1、将公钥通过scp拷贝到服务器上,然后追加到~/.ssh/authorized_keys文件中,这种方式比较麻烦。scp -P 22 ~/.ssh/id_rsa.pub user@host:~/。
2、通过ssh-copy-id程序,就是我演示的方法,ssh-copyid user@host即可
3、可以通过cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host ‘cat >> ~/.ssh/authorized_keys’,这个也是比较常用的方法,因为可以更改端口号。
无法还是无法登录
可以修改 vim /etc/ssh/sshd_config
设置为:
StrictModes no
RSAAuthentication yes
PubkeyAuthentication yes
原文链接:https://blog.csdn.net/universe_hao/article/details/52296811
浙公网安备 33010602011771号