Linux

如何在不使用別名主機名的情況下為 user1@host 和 user2@host 使用不同的 ssh 密鑰?

  • August 9, 2020

我有一個遠端 CentOS 伺服器,讓我們假裝它叫做 hostname.com

hostname.com 有幾個使用者帳戶,我想以這些使用者中的任何一個使用者的身份 ssh 進入此伺服器(使用 ssh 密鑰而不是密碼)。

似乎每個人都建議只更改我的本地 ssh 配置,為每個遠端使用者添加一個別名伺服器,然後為每個別名提供不同的 IdentityFile。

所以我必須ssh bob@aliased_hostname1ssh alice@aliased_hostname2

還有其他解決方案嗎?我寧願不要 ssh’ing 成別名主機名

理想情況下,我只想ssh bob@hostname.comssh alice@hostname.com自動選擇正確的 ssh 密鑰文件,基於我嘗試登錄的遠端使用者名。

檢查Match客戶端電腦上 SSH 配置中的關鍵字。具體來說,userhost標準。ssh_config(5)手冊頁狀態(強調我的):

匹配條件是使用一個或多個條件或單個標記來指定的,所有這些條件總是匹配的。

所以在你的情況下,你會看到類似的東西:

Match user bob host "hostname.com"
 IdentityFile /path/to/bob.key

Match user alice host "hostname.com"
 IdentityFile /path/to/alice.key

一個超級使用者一個 Unix & Linux Q/A幫助將它們聯繫在一起,所以你也應該去投票給這些參與者。

引用自:https://serverfault.com/questions/1029367