![更改桌面後找不到 SSH 金鑰文件](https://rvso.com/image/1083754/%E6%9B%B4%E6%94%B9%E6%A1%8C%E9%9D%A2%E5%BE%8C%E6%89%BE%E4%B8%8D%E5%88%B0%20SSH%20%E9%87%91%E9%91%B0%E6%96%87%E4%BB%B6.png)
最近我將桌面從 Ubuntu 預設(Unity)桌面變更為 Kubuntu 桌面。我無法理解為什麼這會導致我的 SSH 金鑰檔案配置出現錯誤。
FE 在「主機」電腦上有一個「用戶」用戶,其中我的金鑰之一(PK 位於本機 ~/.shh 中)會加入到授權金鑰中。我想做的是:
ssh user@host
這在 Unity 中運作得很好(如果我切換回 Unity 仍然有效),但是當我登入 Kubuntu 桌面時,系統會提示我輸入密碼。
這在兩個桌面上都可以正常工作:
ssh user@host -i ~/.ssh/key
所以我猜 ssh 程式找不到我的金鑰檔案 - 但為什麼桌面很重要,我該如何解決這個問題?
我本地 .ssh 目錄中的相關部分(ls -la):
drwx------ 2 szaboadam szaboadam 4096 okt 7 16:32 .
-rw------- 1 szaboadam szaboadam 1675 okt 7 16:32 key
-rw-r--r-- 1 szaboadam szaboadam 415 okt 7 16:32 key.pub
並從伺服器 .ssh 目錄:
drwx------ 2 git git 4096 Oct 7 16:33 .
-rwx------ 1 git git 566 Oct 7 16:33 authorized_keys
我使用的是 Ubuntu 14.04。感謝您的幫忙!
答案1
奇怪的是,該命令在 Unity 上運行,因為通常會讀取鍵,~/.ssh/id_*
除非它們被覆蓋。您可以將和分別重新命名為key
和,其中是、或,具體取決於密鑰類型(可以從公鑰檔案中取得)。key.pub
id_*
id_*.pub
*
dsa
rsa
ecdsa
ed25519
或者,~/.ssh/config
在IdentityFile ~/.ssh/key
其中創建。
編輯:您也可以用於~/.ssh/config
在每個主機的基礎上指定金鑰,例如
Host host1
IdentityFile ~/.ssh/key1
Host host2
IdentityFile ~/.ssh/key2