在平時運維工作中,通過設置ssh別名來訪問遠程系統,可以節省不少時間。通過ssh為頻繁訪問的系統創建ssh別名,這樣就不必記住所有不同的用戶名、主機名、SSH 端口號和 IP 地址等。此外,它避免了在ssh到linux服務器時重復輸入相同的用戶名、主機名、IP 地址、端口號。
通過情況下,我們使用ssh連接遠程服務器時,會用到"端口號"、"用戶名" 和 "IP地址" 或 "主機名":
[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通這個主機名)。
下面介紹兩個設置ssh別名的方法:
方法一、使用 SSH 配置文件
使用 ssh 默認配置文件來創建 ssh 別名。為此,編輯 ~/.ssh/config 文件(如果此文件不存在,只需創建一個)。在當前用戶家目錄的.ssh/config文件中添加所有遠程主機的詳細信息
[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別名的一種應急變通的方法,可以加快通信的速度。你可以使用alias命令使這項任務更容易。打開 ~/.bashrc 或者 ~/.bash_profile 文件:
[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 ~]#
