需求:备份test@10.22.33.96上的文件到 test@10.22.33.97的定时脚本,需要使用scp命令传输文件,两台节点没有ssh互信,需要配置服务器之间的SSH互信为了让两台或多台服务器之间能够无密码自动登录
步骤1:生成密钥对
在每一台需要建立互信的服务器(test@10.22.33.96)上执行以下操作:
ssh-keygen -t rsa
这个命令会生成一对RSA密钥,默认存放在用户主目录下的~/.ssh
目录中,包括私钥(id_rsa)和公钥(id_rsa.pub)。如果不需要为私钥设置密码保护,可以直接回车跳过。
步骤2:调整权限
确保私钥文件具有正确的权限,以保证安全性:
chmod 600 ~/.ssh/id_rsa
步骤3:分发公钥
将本地生成的公钥复制到其他服务器的~/.ssh/authorized_keys
文件中,例如从服务器A到服务器test@10.22.33.96:
scp ~/.ssh/id_rsa.pub test@10.22.33.97:~/.ssh/authorized_keys
步骤4:确认权限和配置
确保远程服务器上.ssh
目录和authorized_keys
文件有正确的权限:
ssh test@10.22.33.97
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
步骤5:测试互信配置
现在尝试从一台服务器无密码登录另一台服务器:
ssh test@10.22.33.97
如果配置正确,应该无需输入密码就能直接登录到test@10.22.33.97