假使现在有A,B两台服务器,需要在A服务器上免密scp传输文件到B服务器,操作如下。
1.在A服务器执行ssh-keygen -t rsa,生成配对秘钥,一直enter即可,注意不要输入
passphrase(口令)。
执行完该命令后,会在当前用户的.ssh目录下生成id_rsa,id_rsa.pub两个文件
2.执行以下命令将 id_rsa.pub(公钥)这个文件复制到B服务器用来登录用户的.ssh目录下,并重命名为
authorized_keys
scp -P 端口号
id_rsa.pub B服务器登录用户名@B服务器IP:~/.ssh/
authorized_keys
注意:如果发现B服务器该用户的.ssh目录下已有
authorized_keys文件,说明B服务器之前已经和其他服务器建立过信任链接,在此我们不能覆盖该文件,只需要将A服务器的公钥追加到B服务器的
authorized_keys即可:
cat
id_rsa.pub >>
authorized_keys.
至此,A服务器scp传输文件到B服务器不再需要输入密码,示例:
另外,如果A服务器想从B服务器下载文件,只需要将scp的服务器顺序调换即可,如: