自訂ssh與scp連線別名

2009-05-12 16:22:00 哇哇 0 0

ssh連線是我常常需要用的一種連線方式,但是不同主機甚至不同的port的確容易讓人混淆,以往我都是在/etc/hosts內加入一個短名稱,這樣ssh時就可以簡化domain name成為short name,但是又不是每台主機都有權限去修改/etc/hosts,在來跨不同主機時帳號名稱也是有可能不同,ssh要帶帳號也是要再多打幾個字!若真的要簡化就得自訂一下ssh的別名。

整理一下上述的問題
  1. 帶domain name太攏長了(ex. ssh wawa@abc.com.tw -p 12345)
  2. ssh連線若沒有加入帳號是帶入本機的帳號,因此要在帶入帳號
  3. 不同主機ssh port可能不同,ssh又要多打一個參數
建立 ~/.ssh/config 檔案設定別名
# cat ~/.ssh/config
Host abc   #short name別名
HostName abc.com.tw   #完整domain name
User wawa   #帳號
Port 12345    #ssh listen port

Host def
HostName 192.168.1.80   #ip也可以
User csliu
Port 6789
設定完成之後就可以來測試看看連線囉!當然一定也會通的,主要來看看ssh到底少打了幾個字
ssh wawa@abc.com.tw -p 12345   #原本
變成
ssh abc   #設定別名後

當然這樣的設定在scp也是可以被接受的囉!
scp -P 12345 somefile  wawa@abc.com.tw:~   #原本
變成
scp somefile abc:~   #設定別名後

參考文章
http://plog.longwin.com.tw/my_note-unix/2009/04/16/ssh-create-shortcut-fast-connect-2009

之前寫的SSH Tunnel On Linux Over Http Proxy也有寫到~/.ssh/config這個設定檔唷!應該也可以再結合!
http://easylife.tw/1215

更多資訊請參考:
最新超值旗艦機開箱
比螺旋燈泡還省電的迷你 NAS
26800mAh筆電行動電源