Linux
如何在不使用別名主機名的情況下為 user1@host 和 user2@host 使用不同的 ssh 密鑰?
我有一個遠端 CentOS 伺服器,讓我們假裝它叫做 hostname.com
hostname.com 有幾個使用者帳戶,我想以這些使用者中的任何一個使用者的身份 ssh 進入此伺服器(使用 ssh 密鑰而不是密碼)。
似乎每個人都建議只更改我的本地 ssh 配置,為每個遠端使用者添加一個別名伺服器,然後為每個別名提供不同的 IdentityFile。
所以我必須
ssh bob@aliased_hostname1
和ssh alice@aliased_hostname2
還有其他解決方案嗎?我寧願不要 ssh’ing 成別名主機名
理想情況下,我只想
ssh bob@hostname.com
或ssh alice@hostname.com
自動選擇正確的 ssh 密鑰文件,基於我嘗試登錄的遠端使用者名。
檢查
Match
客戶端電腦上 SSH 配置中的關鍵字。具體來說,user
和host
標準。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幫助將它們聯繫在一起,所以你也應該去投票給這些參與者。