Linux服务器间免密码传送文件

scp -p port user@serverip:/home/user/filename /home/user/filename  

 以上端口p 为参数,port 端口;

user 为远程服务器的用户;

serverip 为远程服务器ip或者域名;

第一个/home/user/filename 为要传输的远程服务器的文件名;

第二个/home/user/filename 为本地服务服务器的文件名。

 

如果端口是默认,则可省略-p port;如果传传输的为文件夹,则要加-r参数。如下所示:

 

scp -r user@serverip:/home/user/folder /home/user/folder  

 以上是从serverip这台服务器上下载文件夹/home/user/folder到本服务器的/home/user/folder中。

 

如果要从本地上传文件夹到远程服务器,那就是下面的类似指令:

 

scp -r /home/user/folder user@serverip:/home/user/folder  

 这样就实现了两台Linux服务器之间的文件、文件夹传输。

 

可是每次都要输入密码验证,很麻烦。

为了不用每次输入密码验证,需要在两个服务器这间建立互信通信。

首先,使用ssh-keygen生成密钥文件和私钥文件

 

ssh-keygen -t rsa  

 其中rsa为一种加密方式,另一种为dsa

这时,服务器会提醒你输入密钥文件的文件名,默认为/root/.ssh/id_rsa

直接回车

这时,服务器会提醒你输入密码。如果想以后通过该密钥在两台服务器这间通信时,不需要再输入密码的话,这个时候,就不用输入任务字符,直接回车就好!

系统会再确认一下密码,仍然回车。

这样就在/root/.ssh/目录下,生成了id_rsa.pub和id_rsa两上文件。

 

接下来,就要将id_rsa.pub文件上传到目标服务器的/root/.ssh/目录下,重命名为authorized_keys


scp -r /root/.ssh/id_rsa.pub user@serverip:/root/.ssh/authorized_keys  

这时,输入目标服务器的密码,待文件传输完成后即可。

如果目标服务器上,已经存在了authorized_keys,那么就将id_rsa.pub中的内容追加到目标服务器的authorized_keys文件中

cat /root/.ssh/id_rsa.pub | ssh user@serverip 'cat >> /root/.ssh/authorized_keys'   

此时,再使用scp在这两台服务器这间传输文件,只有第一次,需要输入密码外,以后就再也不用输入密码验证了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值