Linux的远程传输文件scp及出现Permission denied (publickey).lost connection问题解决方法

一、Linux的远程传输文件scp使用方法

1.当前Linux系统 --> 远程Linux系统

scp 当前Linux系统文件路径/文件名 远程Linux用户名@IP地址:远程Linux系统文件路径
2.远程Linux系统 -->当前Linux系统

scp 远程Linux用户名@IP地址:远程Linux系统文件路径/文件名 当前Linux系统文件路径
例如传输文件:

scp /home/vpn/windscribe-cli_1.3-19_amd64.deb root@172.28.128.4:/home/vpn
 

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

传输时出现错误:

Permission denied (publickey).

lost connection

权限被拒绝(publickey)

失去了连接

 

方法1:

1.登录远程主机,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes

2.重启sshd服务:

systemctl restart ssh.service
然而我使用这种方法还是没有解决问题..

 

方法2:

1.在当前Linux主机中运行以下命令

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

 

2.将当前Linux主机上的id_rsa.pub文件拷贝到远程Linux主机的root用户目录下的.ssh目录下,并且改名为authorized_keys 。若已经有该文件覆盖掉内容即可。

这样在当前Linux主机上使用scp命令传输文件到远程Linux上将不提示输入密码了,直接传输了。也可在当前Linux主机上使用scp命令将远程Linux上文件传输到本机;总之不需要验证,就可以在当前Linux系统访问远程Linux系统

注:如果有多台计算机需要与远程Linux系统进行传输,则只需将id_rsa.pub中的内容复制到authorized_keys文件中即可。

 

3.再次执行传输命令:

scp /home/vpn/windscribe-cli_1.3-19_amd64.deb root@172.28.128.4:/home/vpn
已经可以使用。
————————————————
版权声明:本文为CSDN博主「仲夏宁叶香」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m82_a1/article/details/97624965

感谢上面这个兄台

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值