更改桌面後找不到 SSH 金鑰文件

更改桌面後找不到 SSH 金鑰文件

最近我將桌面從 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.pubid_*id_*.pub*dsarsaecdsaed25519

或者,~/.ssh/configIdentityFile ~/.ssh/key其中創建。

編輯:您也可以用於~/.ssh/config在每個主機的基礎上指定金鑰,例如

Host host1
    IdentityFile ~/.ssh/key1

Host host2
    IdentityFile ~/.ssh/key2

相關內容