我有這樣的需求就是,由於須要ssh鏈接到服務器,而後每次須要輸入好大一長串的信息,並且鏈接到一臺服務器後,還可能跳轉到另一臺服務器,並且每次還須要輸入密碼,因此感受很是的麻煩。docker
爲了解決這個問題,我用上了ssh中的config配置文件ruby
1. 配置前
ssh username@hostname -p port 而後輸入密碼
2. 配置後
- 配置之後,咱們只須要輸入鏈接帳戶的別名便可
ssh 別名
3. 配置方法
- 在.ssh/config中配置,若是沒有config,建立一個便可,而後將下面的(別名,主機名,端口,用戶名替換便可),端口若是默認22能夠不要,刪除那行便可。
Host 別名 Hostname 主機名 Port 端口 User 用戶名
- 配置好以後,就能夠直接ssh 別名鏈接了,不須要輸入一長串,可是仍是有一個問題,就是仍是須要輸入密碼。解決辦法就是將咱們的公鑰拷貝到鏈接的機器上就能夠了。
4. 密鑰生成
ssh-keygen -t rsa 而後一直回車就能夠了
5. 拷貝公鑰
- 5.1 一種方法是直接用ssh-copy-id,會拷貝以前生成的公鑰
ssh-copy-id 別名 這裏能夠用別名的前提是以前已經配置好了。若是沒有的話,就只有像ssh在配置前的操做同樣。
- 5.2.1 另一種方法是用scp進行拷貝,替換下面的username和hostname
scp .ssh/id_rsa.pub username@hostname:~/.ssh/
- 5.2.2 而後將拷貝以後的id_rsa.pub內容添加到.ssh/authorized_keys裏面(若是不存在,那麼就建立一個)
cat id_rsa.pub >> .ssh/authorized_keys
6. 重啓服務器的ssh服務
/etc/init.d/ssh restart