我有這樣的需求就是,因為需要ssh連接到服務器,然后每次需要輸入好大一長串的信息,而且連接到一台服務器后,還可能跳轉到另外一台服務器,而且每次還需要輸入密碼,所以感覺非常的麻煩。
為了解決這個問題,我用上了ssh中的config配置文件
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