通常用scp命令通过ssh向对方linux主机传输文件的时候都需要输入密码确认,不过通过建立信任关系,可以实现不输入密码。
需要备份的服务器 A 的IP:192.168.0.1
用作备份的服务器 B 的IP:192.168.0.2
需要从A免密码输入复制文件至B
1、在服务器A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
2、将 /root/.ssh/ 目录中的 id_rsa.pub 文件复制到服务器A的 /root/.ssh/ 目录中,并改名为 authorized_keys
scp .ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/authorized_keys。以后从服务器 S scp 到服务器 B 就不需要密码了。
3、使用此方法需要注意:复制的两台计算机需要用相同的账户名,这里都是用的root。为了安全起见,需要在两台机器中创建相同的账号,然后在服务器A上用su命令切换至该账号下,然后执行第1步,第2步中复制文件时可能 ~/.ssh/ 目录并不存在,需要手动创建。
另外,在第2步中如果机器中已经存在authorized_keys文件,则需注意,这个文件可以包含多个SSH验证信息,这时将验证文件内容附加上去即可。先在服务器A上执行脚本 scp ~/.ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/s.pub,然后在服务器B上执行 cat ~/.ssh/s.pub >> ~/.ssh/authorized_keys。