linux scp命令带密码_linux无需输入密码完成scp复制

在linux操作系统中,可以使用scp命令进行服务器之间的文件复制,但是复制时需要输入远程服务器的密码,这在经常需要进行远程复制操作时会略显麻烦,如果远程复制是在定时任务中执行,更会导致脚本不能自动执行,这时就需要实现无需输入密码进行scp复制。无需输入密码进行scp复制的方法有多种,今天就介绍下使用公私钥来实现无需输入密码完成scp复制。

基本信息如下:

当前服务器A(10.0.89.103),登录用户名weblogic,用户主目录/home/weblogic远程服务器B(10.0.89.102),其他信息同A。

测试1:直接使用scp命令进行复制。

1. 使用weblogic用户登录服务器A,在用户主目录创建文件test.txt,用于测试远程复制。

2. 执行scp命令把文件test.txt从服务器A复制到服务器B。

1ca89cc3abe6f51bd7a3533ce32ba269.png

从图中可以看出需要输入服务器B的用户密码才能完成复制。

测试2:使用公私钥后进行scp进行复制。

1. 使用weblogic用户登录服务器A,执行命令ssh-keygen -t rsa生成公私钥。

8c901d7fdfc7a4e00a313c3c63f373fe.png

注意上图中所有需要输入的地方直接按回车。所以公私钥文件都是在默认位置保存,且没有密码。存储公私钥的文件夹位置默认为~/.ssh/,文件名默认是id_rsa和id_rsa.pub

3b2cd4b03cfc8cbdd9cc2bef19042c7e.png

2. 将生成的公钥文件(~/.ssh/id_rsa.pub)的内容复制到服务器B上的~/.ssh/authorized_keys文件中(如果没有则创建一个),这样就建立了服务器B对服务器A的信任关系,即在服务器A用任何ssh相关的工具不需要输入登录密码就可以访问服务器B了。

如果服务器B上面本来就没有授权文件~/.ssh/authorized_keys,也可以直接把服务器A上面的公钥文件复制到服务器B作为授权文件:

scp ~/.ssh/id_rsa.pub weblogic@10.0.89.102:~/.ssh/authorized_keys

7c000881260f4be15e37a78990147577.png

3. 执行scp命令把文件test.txt从服务器A复制到服务器B。

bbf6dfa71e51a69f6020ebdf49b31d04.png

从图中可以看出不需要输入服务器B的密码就完成了复制。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值