当前位置:   article > 正文

scp远程传输文件之权限被拒绝解决方案_scp拒绝访问

scp拒绝访问

一、简述
Linux中进行远程传输文件方法之scp
先来阐述下远程传输文件scp的用法
1.当前机器 --> 远程机器

scp 当前系统文件路径/文件名 远程用户名@IP地址:远程系统文件路径
  • 1

2.远程机器 -->当前机器

scp 远程机器@IP地址:远程文件路径/文件名 当前系统文件路径
  • 1

3、上栗子如下:

scp /home/a.txt root@127.3.4.5:/home/
  • 1

注:
此时假设127.3.4.5 为远程机器,/home/a.txt 为本地文件路径,/home/ 为远程机器文件路径

二、远程传输时权限被拒绝的问题
当进行scp传输时报错如下:

Permission denied (publickey).

lost connection
  • 1
  • 2
  • 3

权限被拒绝
失去了连接

直接上汤~
解决方法:
1、首先需要分析是否是远程主机没有设置ssh权限访问,假如没有添加,进行如下添加
登录 远程主机,
/etc/ssh/sshd_config 文件中的 PasswordAuthentication no 修改为 PasswordAuthentication yes
在这里插入图片描述
2、然后重启sshd服务

systemctl restart sshd
  • 1

执行到此,进行scp传输文件时,会出现输入远程主机的密码

如果想要取消输入密码。直接进行传输,进行如下操作
3、在当前的主机执行如下命令:

ssh-keygen -t rsa
  • 1

会生成公钥和对应的密钥文件
运行过程的操作如下:

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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

cd ~/.ssh
ls
id_rsa,id_rsa.pub
  • 1
  • 2
  • 3

在这里插入图片描述
4、然后将当前主机上的id_rsa.pub文件拷贝到远程Linux主机的root用户目录下的.ssh目录下,并且改名为authorized_keys 。
注:若已经有该文件覆盖掉内容即可。

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/267706
推荐阅读
  

闽ICP备14008679号