Linux
更改通過 ssh 登錄傳遞的私鑰的順序
伺服器被設置為接受三個登錄嘗試。在選擇正確的一個之前,
ssh
系統會檢查三個身份文件。ssh 命令如下:
ssh -i ~/.ssh/username username@xx.xx.xx.xxx -v
三個身份文件如下:
debug2: key: /path/to/.ssh/identity1 debug2: key: /path/to/.ssh/identity2 debug2: key: /path/to/.ssh/identity3 debug2: key: /path/to/.ssh/username
如何刪除三個不正確的身份文件?我已經嘗試從目錄中刪除它們,我也嘗試
~/.ssh/config
如下更新:Host xx.xx.xx.xxx User username IdentityFile ~/.ssh/username
我怎樣才能必須
ssh
使用正確的身份文件?
查看是否列出了身份文件
ssh-add -l
如果沒有,添加它
ssh-add ~/.ssh/username
然後能夠選擇正確的身份文件
看起來 ssh 正在嘗試它所知道的所有身份。如果您只想嘗試配置文件中指定的身份,請添加該行
IdentitiesOnly = yes
到您的 .ssh/config 文件的主機部分。
這是ssh_config 手冊頁的相關部分:
IdentitiesOnly 指定 ssh(1) 應該只使用 ssh_config 文件中配置的身份驗證身份文件,即使 ssh-agent(1) 提供更多身份。此關鍵字的參數必須是“是”或“否”。此選項適用於 ssh-agent 提供許多不同身份的情況。預設值為“否”。