使用多個 Identity 登入單一 Host

使用 ssh public key 來達成無密碼登入相當方便,照理來說,可以使用

ssh -i identity_file

來指定特定的 private key,但如果已經有預設的 identity, eg.

identity
id_rsa
id_dsa

而且也用 ssh-add 儲存起來,這時 -i 可能會失效。

解決方法為,用 .ssh/config 建立一個 host alias:

Host alias_name 
 HostName foo.example.bar 
 IdentityFile id_file 
 IdentitiesOnly yes

此時 ssh alias_name 即會使用該指定的 identity 進行登入。

為什麼要在同一個 host 上設定兩個不同的 identity 呢?因為想要在後面執行不同的 command 啦!以我為例,是想建立一個 ssh tunnel 來做 MacPorts 的 selfupdate。

2012.09.01