若是你常常經過 SSH 訪問許多不一樣的遠程系統,這個技巧將爲你節省一些時間。你能夠經過 SSH 爲頻繁訪問的系統建立 SSH 別名,這樣你就沒必要記住全部不一樣的用戶名、主機名、SSH 端口號和 IP 地址等。此外,它避免了在 SSH 到 Linux 服務器時重複輸入相同的用戶名、主機名、IP 地址、端口號。linux
在我知道這個技巧以前,我一般使用如下任意一種方式經過 SSH 鏈接到遠程系統。web
使用 IP 地址:ubuntu
$ ssh 192.168.225.22
或使用端口號、用戶名和 IP 地址:bash
$ ssh -p 22 sk@192.168.225.22
或使用端口號、用戶名和主機名:服務器
$ ssh -p 22 sk@server.example.com
這裏ssh
我相信大多數 Linux 新手和(或一些)管理員都會以這種方式經過 SSH 鏈接到遠程系統。可是,若是你經過 SSH 鏈接到多個不一樣的系統,記住全部主機名或 IP 地址,還有用戶名是困難的,除非你將它們寫在紙上或者將其保存在文本文件中。別擔憂!這能夠經過爲 SSH 鏈接建立別名(或快捷方式)輕鬆解決。spa
咱們能夠用兩種方法爲 SSH 命令建立別名。3d
這是我建立別名的首選方法。server
咱們可使用 SSH 默認配置文件來建立 SSH 別名。爲此,編輯 ~/.ssh/config 文件(若是此文件不存在,只需建立一個):blog
$ vi ~/.ssh/config
添加全部遠程主機的詳細信息,以下所示:
Host webserver
HostName 192.168.225.22
User sk
Host dns
HostName server.example.com
User root
Host dhcp
HostName 192.168.225.25
User ostechnix
Port 2233
使用 SSH 配置文件在 Linux 中建立 SSH 別名
將 Host、Hostname、User 和 Port 配置的值替換爲你本身的值。添加全部遠程主機的詳細信息後,保存並退出該文件。
如今你可使用如下命令經過 SSH 進入系統:
$ ssh webserver
$ ssh dns
$ ssh dhcp
就是這麼簡單!
看看下面的截圖。
使用 SSH 別名訪問遠程系統
看到了嗎?我只使用別名(例如 webserver)來訪問 IP 地址爲 192.168.225.22 的遠程系統。
請注意,這隻使用於當前用戶。若是要爲全部用戶(系統範圍內)提供別名,請在 /etc/ssh/ssh_config 文件中添加以上行。
你還能夠在 SSH 配置文件中添加許多其餘內容。例如,若是你已配置基於 SSH 密鑰的身份驗證,說明 SSH 密鑰文件的位置,以下所示:
Host ubuntu
HostName 192.168.225.50
User senthil
IdentityFIle ~/.ssh/id_rsa_remotesystem
確保已使用你本身的值替換主機名、用戶名和 SSH 密鑰文件路徑。
如今使用如下命令鏈接到遠程服務器:
$ ssh ubuntu
這樣,你能夠添加但願經過 SSH 訪問的任意多臺遠程主機,並使用別名快速訪問它們。
這是建立 SSH 別名的一種應急變通的方法,能夠加快通訊的速度。你可使用 alias 命令使這項任務更容易。
打開 ~/.bashrc 或者 ~/.bash_profile 文件:
alias webserver='ssh sk@server.example.com'
alias dns='ssh sk@server.example.com'
alias dhcp='ssh sk@server.example.com -p 2233'
alias ubuntu='ssh sk@server.example.com -i ~/.ssh/id_rsa_remotesystem'
再次確保你已使用本身的值替換主機、主機名、端口號和 IP 地址。保存文件並退出。
而後,使用命令應用更改:
$ source ~/.bashrc
或者
$ source ~/.bash_profile
在此方法中,你甚至不須要使用 ssh 別名 命令。相反,只需使用別名,以下所示。
$ webserver
$ dns
$ dhcp
$ ubuntu
這兩種方法很是簡單,但對於常常經過 SSH 鏈接到多個不一樣系統的人來講很是有用,並且很是方便。使用適合你的上述任何一種方法,經過 SSH 快速訪問遠程 Linux 系統。
建議閱讀:
目前這就是所有了,但願它對你有幫助。更多好東西要來了,敬請關注!
乾杯!