在编写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,如图所示:
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:目录名本地路径