在平時運維工做中,經過設置ssh別名來訪問遠程系統,能夠節省很多時間。經過ssh爲頻繁訪問的系統建立ssh別名,這樣就沒必要記住全部不一樣的用戶名、主機名、SSH 端口號和 IP 地址等。此外,它避免了在ssh到linux服務器時重複輸入相同的用戶名、主機名、IP 地址、端口號。node
經過狀況下,咱們使用ssh鏈接遠程服務器時,會用到"端口號"、"用戶名" 和 "IP地址" 或 "主機名":python
[root@python2 ~]# ssh -p22 kevin@172.16.60.205 kevin@172.16.60.205's password: [kevin@web-node01 ~]$ [root@python2 ~]# ssh -p 22 kevin@web-node01 kevin@web-node01's password: [kevin@web-node01 ~]$
其中:
22 是端口號,
kevin 是遠程系統的用戶名,
172.16.60.205 是遠程系統的IP,
web-node01 是遠程系統的主機名(前提是能夠在本機ping通這個主機名)。linux
下面介紹兩個設置ssh別名的方法:web
方法1、使用 SSH 配置文件vim
使用 ssh 默認配置文件來建立 ssh 別名。爲此,編輯 ~/.ssh/config 文件(若是此文件不存在,只需建立一個)。在當前用戶家目錄的.ssh/config文件中添加全部遠程主機的詳細信息bash
[root@python2 ~]# vim ~/.ssh/config Host webserver HostName 172.16.60.205 User kevin Port 8888 Host dnsserver HostName dns.bo.cn User root Host dbserver HostName 172.16.60.210 User shibo Port 22222
而後就可使用這些ssh別名進行遠程服務器的鏈接了服務器
[root@python2 ~]# ssh webserver [root@python2 ~]# ssh dnsserver [root@python2 ~]# ssh dbserver
須要特別注意:
上面配置只使用於當前用戶。若是要爲全部用戶(系統範圍內)提供別名,那麼就須要在/etc/ssh/ssh_config 文件中添加以上幾行的內容。還能夠在 SSH 配置文件中添加許多其餘內容。例如,能夠配置基於SSH密鑰的身份驗證,說明SSH 密鑰文件的位置,以下所示:運維
Host webserver HostName 172.16.60.140 User kevin IdentityFIle ~/.ssh/id_rsa_remotesystem
方法二: 使用 Bash 別名ssh
這是建立ssh別名的一種應急變通的方法,能夠加快通訊的速度。你可使用alias命令使這項任務更容易。打開 ~/.bashrc 或者 ~/.bash_profile 文件:spa
[root@python2 ~]# vim ~/.bashrc alias webserver='ssh -p8888 kevin@172.16.60.205' alias dnsserver='ssh root@dns.bo.cn' alias dbserver='ssh -p22222 shibo@172.16.60.210' alias haha='ssh -p6666 kevin@172.16.60.140 -i ~/.ssh/id_rsa_remotesystem'
使用命令應用更改:
[root@python2 ~]# source ~/.bashrc
而後直接使用別名就能夠鏈接了:
[root@python2 ~]# webserver [root@python2 ~]# dnsserver [root@python2 ~]# dbserver [root@python2 ~]# haha
以下面配置示例:
[root@kevin ~]# cat /root/.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias vi='vim' alias cp='cp -i' alias mv='mv -i' alias jk='ssh 192.168.10.146' alias jk3='ssh 192.168.11.146' alias jk4='ssh 192.168.11.147' alias xps='ssh 192.168.11.217' export TERM=xterm unset SSH_ASKPASS [root@kevin ~]# jk Last login: Mon Jul 22 10:19:51 2019 from 172.20.20.65 [root@jenkins ~]#