使用密钥登录远程服务器,但无法使用 scp 上传文件

使用密钥登录远程服务器,但无法使用 scp 上传文件

作为 Ubuntu 新手,我登录了我所在机构的远程服务器,并生成了私钥/公钥对。在向管理员发送公钥后,我设置了一个用户名。我应该能够使用登录,ssh myusername@servername但只有将服务器名称替换为 IP 地址时才能登录,ssh [email protected]

现在,想要上传一个文件,我尝试了:

scp ~/myfile.rds myusername@servername:/home/myusername/

...我收到了一条Permission denied (publickey). lost connection消息。管理员建议再试一次,用 IP 地址替换服务器名称。这很有道理,但回复仍然相同。

我的配置文件\\wsl$\Ubuntu\home\myUbuntuUsername\.ssh与两个键一起保存,内容如下:

Host servername
    HostName xxx.xx.x.xx
    Port 22
    User myusername
    IdentityFile ~/.ssh/id_ed25519

...~/.ssh/id_ed25519私钥的路径在哪里?我可能做错了什么?

答案1

ssh在您的和命令中指定用户名scp不是必需的,因为该值已经在您的~/.ssh/config文件中了。相反,您可以这样做:

ssh servername

因为scp它是相同的:

scp myfile.gz servername:/path/to/save

或者,您可以传递密钥文件来使用-i

scp -i ~/.ssh/id_ed25519 myfile.gz [email protected]:/path/to/save

相关内容