- scp命令通常用于服务器之间文件传输,但由于工作场景有时无法直接拿到目标服务器的pwd,或者每次传输时都需要手动再输入pwd非常繁琐,因此可以采取免密传输的办法。
一、准备工作
如果能拿到pwd可跳过。否则可以安装szrz命令
二、准备密钥
假设有两台服务器 10.137.128.181 (服务器A)、10.137.128.182(服务器B)
- 在服务器A上生成密钥:
ssh-keygen -t rsa
-
然后三步回车:
可以看到生成的密钥放在了/root/.ssh/id_rsa.pub -
将生成的密钥复制到远程机器上,即服务器B,放到/root/.ssh/authorized_keys文件中
如果有服务器B的密钥,可以直接scp,否则,可以通过rzsz命令,将文件先下载到本地,然后再上传到B服务器。scp /root/.ssh/id_rsa.pub root@10.137.128.174:/root.ssh/
三、服务器B的处理
-
如果/root/.ssh/下已存在authorized_keys文件
cat id_rsa.pub >> authorized_keys
-
如果/root/.ssh/下不存在authorized_keys文件
mv id_rsa.pub authorized_keys
其实这里重定向也一样。
此时A到B即可以实现免密传输了,如果要实现B到A免密传输,操作是一样的。