![scp-权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)](https://linux22.com/image/667977/scp-%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%88publickey%E3%80%81gssapi-keyex%E3%80%81gssapi-with-mic%EF%BC%89.png)
尝试将文件从服务器 B 复制到服务器 A 并出现以下错误:
root@server:~# scp /root/test.txt [email protected]:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
在服务器 A 上,我创建了没有密码的公钥/私钥对。在服务器 B 上,我将公钥添加到 .ssh/authorized_keys 文件中。文件夹和文件均归 root 所有。
我最初尝试使用密码...由于不起作用,我创建了另一个没有密码的密钥。两次都给出了相同的结果。
这不是防火墙问题。serverA 是 centos。serverB 是 ubuntu。
答案1
我也遇到了同样的问题。希望这对你有用。
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
为了完成这项工作,许可也必须正确。
答案2
使用详细模式 (-vvv) 运行 scp,看看能否找出问题所在。可能是目标(甚至是源)上的 .ssh/authorized_key 文件的权限太开放。
答案3
事实证明我需要在 scp 命令中指定身份,如下所示:
scp -rp -i /root/.ssh/server /home/user-data/* [email protected]:/home/user-data
其中 '/root/.ssh/server' 是要使用的私钥的位置。权限和所有权也应该正确。
答案4
/var/log/secure
你在文件中看到了什么?可能.ssh/*
权限不正确。
因此您可以尝试运行ssh -v
命令来查看问题是什么。