作为 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