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