Linux scp 真机传送文件 Permission denied (publickey).lost connection 出错处理

原因:

VMware上开了两台虚拟机,想要把一个真机的文件传到另一个虚拟机上时,出现问题。


问题描述

初试 scp kubeapps-12.2.8.tgz 192.168.170.130:/root命令,输入密码后一直显示permission denied,且确定密码无误。


解决方案:

以下所有操作均在root 用户下执行。
1.尝试更改配置文件:
可以改变两台虚拟机的/etc/ssh/sshd_config文件中的配置,看是否起作用,使用vim /etc/ssh/sshd_config访问该文件。
一般配置显示为:
#PasswordAuthentication no#PemitRootLogin/without-password
依据实际情况,改成
PasswordAuthentication yesPemitRootLogin yes
没有的话自己加一行即可。
重启服务
/etc/init.d/ssh restart
如果上述操作后仍错误,请尝试第二种方法。
2.使用authorized_keys文件
(1)在真机上输入ssh-keygen -t rsa命令,后续连按回车即可,之后会生成一个密钥。
生成密钥

(2)使用cd /root/.ssh进入目录,查看生成的id_rsa.pub文件。使用vim id_rsa.pub访问文件内容,复制文件内容。
(3)在另一台虚拟机上进入cd /root/.ssh目录,输入touch authorized_keys创建文件,vim authorized_keys访问该文件并将上述id_rsa.pub文件内容拷贝到该文件下。
(4)设置文件权限。在/root路径下使用chmod 700 .ssh,在/root/.ssh路径下 chmod 644 authorized_keys id_rsa.pub命令修改文件权限。修改完后使用ll查看修改结果。
使用scp传输即可。

在我操作的时候出现了一个

The authenticity of host '192.168.170.130(192.168.170.130)'can't be established.
ECDSA key fingerprint is SHA256:jy98y4lw8PjsZ7jzwY0FGqlzbac4+hMG9i2yZRlRWoA.
Are you sure you want to continue connecting(yes/or/[fingerprint])?

这里一定要输入yes,我一般习惯只习惯直接输入一个y,在这里是不通过的。输入yes后,传输成功。

如果经过上述操作后任有问题,考虑是否为需要传输文件的权限问题,将需要传输的文件chmod 777 文件名 修改权限。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值