SCP免密传输

什么是SCP?

Linux系统中,scp是Secure copy的缩写,使用ssh登录服务器,可进行跨服务器远程拷贝文件操作。类似命令有很多,如cp为本机内拷贝文件,scp传输是加密远程拷贝,rcp传输是不加密的,所以scp是rcp的加强版。scp VS rsync,两者均可远程传输,scp占用系统资源少,不会提高多少系统负荷,由于scp是加密传输,所以速度相对较慢;而rsync占用资源比scp多,传输不加密,所以传输速度也比scp快一些。在小文件较多的情况下,rsync会导致硬盘I/O很高,而scp基本不影响系统的正常使用。

Linux系统服务器间 scp 远程传输文件

1.当前服务器A --> 远程服务器B

scp A服务器文件路径/文件名 B服务器用户名@B服务器IP地址:B服务器指定存放文件路径

2.远程服务器B --> 当前服务器A

scp B服务器用户名@B服务器IP地址:B服务器文件路径/文件名 A服务器指定存放文件路径

3.远程服务器C --> 远程服务器D

scp C服务器用户名@C服务器IP地址:C服务器文件路径/文件名 D服务器用户名@D服务器IP地址:D服务器指定存放文件路径


远程传输时权限被拒绝的解决方法

A服务器执行命令:

root@AAA:~# scp /tmp/test.txt root@1.1.1.33:/tmp/
Permission denied (publickey).
lost connection

传输时报错:

Permission denied (publickey).

lost connection

意思是权限被拒

解决:

1.登录B服务器,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes

2.重启sshd服务

root@BBB:~# systemctl restart sshd

注:到这里,两个服务器之间可以scp传输,但是需要输入服务器密码,为了方便,可以如下设置免密传输

 3.设置免密传输

3.1 A服务器生成密钥对

root@AAA:~# ssh-keygen -t rsa
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/ssh/id_rsa):  #回车 
Enter passphrase (empty for no passphrase):                   #回车 
Enter same passphrase again:                                  #回车 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
    省略***  ##回车
    省略***  ##回车

执行完毕后会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub

3.2 拷贝A服务器id_rsa.pub文件拷贝到B服务器的root用户目录下的.ssh目录下,并且改名为authorized_keys 。(若B服务器已存在authorized_keys文件,只需要拷贝A服务器id_rsa.pub文件内容到B服务器authorized_keys文件中)

这样在A服务器上使用scp命令传输文件到B服务器上将不提示输入密码了,直接传输了。也可在A服务器上使用scp命令将B服务器上文件传输到本机!

恭喜陌生的你又学会一个小知识!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值