於 shell 下, 要連到其他主機, 通常是: ssh domain-name, 但是若其他主機的帳號是不一樣的, 就需要 ssh username@domain-name.
於是就產生下述的問題:
- 記不得主機開甚麼帳號.(寫檔案紀錄)
- 主機 domain-name 太長, 單字太特殊, 背不起來.(寫檔案紀錄)
當檔案寫多後, 就會想乾脆寫成 sh 檔, 於是就寫下述 shell script:
- mkdir ~/ssh
- vim ssh/domain-name
ssh username@domain-name
- 使用: ssh/domain-name (因為 domain-name 可以按 tab, 所以只要模糊知道機器名稱即可)
看到 LinuxToy 此文: SSH 使用技巧一則: 建立快捷方式
原來我的問題, 有這麼方便的解法.
- mkdir ~/.ssh
- vim ~/.ssh/config
Host short-name
HostName domain-name
User username
Port 22Host short-name2
HostName domain-name2
User username2
Port 22 - 這樣子, 就可以 ssh short-name 囉~
說明:
- short-name: 自己想得短名稱, 主要是用在 ssh short-name (快速連結)
- domain-name: 要連到哪個 domain-name, ex: example.com
- username: 使用來連線的帳號
請教一下.. 那跟直接用alias shortname='ssh id@hostname' 相較起來如何呢?
我自己怕忘記 shortname 會取ssh開頭
像sshlab sshhome
嗯嗯, 這個方法也不錯, 感恩~ Orz..
app-shells/bash-completion可以去爬.ssh/known_hosts的東西。
我有一次用ubuntu發現我ssh 主機 他竟然幫我自動補完。
後來發現他是用bash-completion功能達到的。
這, 好神奇, 我研究一下, 感謝提供. Orz..
如果公司有很多伺服器主機,例如有A、B、C,
而一般員工都是用主機A,PORT 80連出去,但是都會檔一些網站與MSN,
但其中一台主機某個PORT是OK不會被檔
我如何找到這台主機與PORT,謝謝
因為小弟我真的很想連MSN
我是覺得找到也沒用, Firewall 是可以單獨為這台機器特別開 port 的. XD