linux通过ssh-keygen实现无密码scp文件和目录

在编写Shell脚本远程拷贝的时候,脚本在执行过程中因为要检验密码会被打断,这时可以通过ssh-keygen实现两台linux主机之间的指定用户免密码登陆。

整个过程如下:

本地服务器:A
远程服务器:B

1.在 A 上运行 ssh-keygen -t rsa 在/home/openpf/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,然后在/home/openpf/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A,以便拷贝到服务器B,如图所示:
1

2

2. 在 B 上也同样运行 ssh-keygen -t rsa
3. 在 B 的/home/openpf/.ssh下创建authorized_keys文件,把A 中 id_rsa.pub.A 文件传到 B服务器/home/openpf/.ssh 下,
通过 cat 命令 把id_rsa.pub.A 追加到 authorized_keys 文件中,命令如下:

scp ./id_rsa.pub.A  B的IP:/home/openpf/.ssh
cat id_rsa.pub.A  >>  authorized_keys

4.配置完毕

测试:

scp ./id_rsa.pub.A  10.16.133.200:/home/openpf/.ssh   无需输入密码执行成功

 

命令:

复制文件:
1.将本地文件拷贝到远程
scp 文件名 用户名@计算机IP:远程路径
2.从远程将文件拷回本地
scp 用户名@计算机IP:文件名 本地路径
复制目录:
1.将本地目录拷贝到远程
scp -r 目录名 用户名@计算机IP:远程路径
2.从远程将目录拷回本地
scp -r 用户名@计算机IP:目录名本地路径

发表评论

电子邮件地址不会被公开。