SSH 建立快速連線方式

於 shell 下, 要連到其他主機, 通常是: ssh domain-name, 但是若其他主機的帳號是不一樣的, 就需要 ssh username@domain-name.

於是就產生下述的問題:

  1. 記不得主機開甚麼帳號.(寫檔案紀錄)
  2. 主機 domain-name 太長, 單字太特殊, 背不起來.(寫檔案紀錄)

當檔案寫多後, 就會想乾脆寫成 sh 檔, 於是就寫下述 shell script:

  1. mkdir ~/ssh
  2. vim ssh/domain-name

    ssh username@domain-name

  3. 使用: ssh/domain-name (因為 domain-name 可以按 tab, 所以只要模糊知道機器名稱即可)

看到 LinuxToy 此文: SSH 使用技巧一則: 建立快捷方式

原來我的問題, 有這麼方便的解法.

  1. mkdir ~/.ssh
  2. vim ~/.ssh/config

    Host short-name
      HostName domain-name
      User username
      Port 22

    Host short-name2
      HostName domain-name2
      User username2
      Port 22

  3. 這樣子, 就可以 ssh short-name 囉~

說明:

  • short-name: 自己想得短名稱, 主要是用在 ssh short-name (快速連結)
  • domain-name: 要連到哪個 domain-name, ex: example.com
  • username: 使用來連線的帳號

作者: Tsung

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

在〈SSH 建立快速連線方式〉中有 7 則留言

  1. 請教一下.. 那跟直接用alias shortname='ssh id@hostname' 相較起來如何呢?
    我自己怕忘記 shortname 會取ssh開頭
    像sshlab sshhome

  2. app-shells/bash-completion可以去爬.ssh/known_hosts的東西。
    我有一次用ubuntu發現我ssh 主機 他竟然幫我自動補完。
    後來發現他是用bash-completion功能達到的。

  3. 如果公司有很多伺服器主機,例如有A、B、C,
    而一般員工都是用主機A,PORT 80連出去,但是都會檔一些網站與MSN,
    但其中一台主機某個PORT是OK不會被檔
    我如何找到這台主機與PORT,謝謝
    因為小弟我真的很想連MSN

發表迴響

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