Nic Lin's Blog

喜歡在地上滾的工程師

用 ssh config 管理多台機器

如果你每台機器要吃不同的 rsa key,你可能在連線的時候還要帶入 pem 檔路徑。

ssh -i key.pem root@192.168.1.1  

或是說你有非常多的機器要管理

# 每次都搞不清楚哪台是哪台,可不可以給我好記得名稱
ssh app@123.45.67.89

如果把每台機器的設定檔單獨寫一個 shell script 實在太累人了,而且很難以管理…

這時候用 ssh config 就很方便了。

步驟很簡單,在本機建立 config 檔案

touch ~/.ssh/config

config 不需任何副檔名就可以了

設定的介紹如下

Host alias-name     # 用來連線的名稱
HostName IP         # host domain or IP
Port                # host port
IdentitiesOnly      # 指定 key
IdentityFile        # 指定 pem / pub
User                # 登入 ssh 的 user
ForwardX11          # 啟用回傳 GUI 
ServerAliveInterval # 每隔幾秒發送 keep-alive 保持連線

這是我常用的範例,可以直接參考

Host *
  ServerAliveInterval 10

Host web-test
  HostName 111.222.333.444
  User deploy

Host web-production
  HostName 444.333.222.111
  User deploy

這樣我就可以直接在 command line 裡面輸入

ssh web-test

直接連到機器,在搭配做 authorized_keys 就可以快速登入了!

comments powered by Disqus