設定 SSH 各台不同機器、Git 使用各自的 Private Key

SSH 各台不同的機器 / 不同的 Git Server(開發 / 線上) ... 等, 想要使用不同的 Private Key, 要如何做?

設定 SSH 各台不同機器、Git 使用各自的 Private Key

SSH 各台不同的機器 / 不同的 Git Server(開發 / 線上) 要指定專用的 Private Key, 可以於 .ssh/config 做設定.

  • vim .ssh/config
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_git_github
    
    Host git.example.com
        HostName git.example.com
        User username
        IdentityFile ~/.ssh/id_rsa_git_example
    
    Host abc.com
        HostName abc.com
        User username
        IdentityFile ~/.ssh/id_rsa_abc
    
    Host example.com
        HostName example.com
        User username
        #IdentityFile ~/.ssh/id_rsa # id_rsa 可不用設定, 預設就會使用這個.
  • 註1: github.com 會使用 ~/.ssh/id_rsa_git_github, abc.com 會使用 ~/.ssh/id_rsa_abc 的 Key.
  • 註2: IdentityFile 是指定 Private Key 的檔名, 此檔名可隨意自己取名, 用 id_rsa_xxx 當範例, 只是取系統用 id_rsa 當預設檔名, 這樣子寫比較容易懂.
  • 更多 SSH Config 參數可見: man ssh_config

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈設定 SSH 各台不同機器、Git 使用各自的 Private Key〉中有 2 則留言

  1. 可以增加autocomplete 在.bashrc裡~

    complete -o default -o nospace -W "$(awk '/^Host/ {print $2}' < $HOME/.ssh/config)" scp sftp ssh

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料