Linux传输文件权限被拒绝:Access denied for user 'fuguang_user'@'localhost' (using password: YES)
一、Linux的远程传输文件scp使用方法
1.当前Linux系统 --> 远程Linux系统
scp 当前Linux系统文件路径/文件名 远程Linux用户名@IP地址:远程Linux系统文件路径
2.远程Linux系统 -->当前Linux系统
scp 远程Linux用户名@IP地址:远程Linux系统文件路径/文件名 当前Linux系统文件路径
例如传输文件:
scp /home//windscribe-cli_1.3-19_amd64.deb root@172.28.128.4:/home/
二、远程传输时权限被拒绝的解决方法
传输时出现错误:
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//windscribe-cli_1.3-19_amd64.deb root@172.28.128.4:/home/
已经可以使用。
转载于:https://blog.csdn.net/weixin_42333009/article/details/116731707