现网很多场景下,不能通过root来免密传输,这个时候就需要配置普通用户的免密了
现在模拟需求:nodeA服务器需要用普通用户免密scp到nodeB服务器
1、在nodeA服务器上执行如下命令生成配对密钥
ssh-keygen -t rsa 三次Enter提示输入,按enter即可
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

2、在nodeB服务器创建普通用户并设置密码(如果存在可用普通用户,此步骤可以跳过)
useradd general
echo 'general'|passwd --stdin general 
3、在nodeA服务器上,把生成的公钥id_rsa.pub传输到nodeB服务器的genral的家目录
scp /root/.ssh/id_rsa.pub general@nodeb:/home/general 
4、在nodeB服务器上,配置general用户的免密
mkdir -p /home/general/.ssh
cat /home/general/id_rsa.pub >> /home/general/.ssh/authorized_keys
chown -R general:general /home/general

5、在nodeA服务器上测试

在nodeB服务器查看,文件接收成功

总结
第二次通过general传输是可以免密的

此方法也可以ssh免密登录

版权声明:本文为rzhidong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。