如何在 Linux 中建立 SSH 別名

Sk發表於2019-05-13

如果你經常通過 SSH 訪問許多不同的遠端系統,這個技巧將為你節省一些時間。你可以通過 SSH 為頻繁訪問的系統建立 SSH 別名,這樣你就不必記住所有不同的使用者名稱、主機名、SSH 埠號和 IP 地址等。此外,它避免了在 SSH 到 Linux 伺服器時重複輸入相同的使用者名稱、主機名、IP 地址、埠號。

在 Linux 中建立 SSH 別名

在我知道這個技巧之前,我通常使用以下任意一種方式通過 SSH 連線到遠端系統。

使用 IP 地址:

$ ssh 192.168.225.22

或使用埠號、使用者名稱和 IP 地址:

$ ssh -p 22 sk@192.168.225.22

或使用埠號、使用者名稱和主機名:

$ ssh -p 22 sk@server.example.com

這裡

  • 22 是埠號,
  • sk 是遠端系統的使用者名稱,
  • 192.168.225.22 是我遠端系統的 IP,
  • server.example.com 是遠端系統的主機名。

我相信大多數 Linux 新手和(或一些)管理員都會以這種方式通過 SSH 連線到遠端系統。但是,如果你通過 SSH 連線到多個不同的系統,記住所有主機名或 IP 地址,還有使用者名稱是困難的,除非你將它們寫在紙上或者將其儲存在文字檔案中。別擔心!這可以通過為 SSH 連線建立別名(或快捷方式)輕鬆解決。

我們可以用兩種方法為 SSH 命令建立別名。

方法 1 – 使用 SSH 配置檔案

這是我建立別名的首選方法。

我們可以使用 SSH 預設配置檔案來建立 SSH 別名。為此,編輯 ~/.ssh/config 檔案(如果此檔案不存在,只需建立一個):

$ 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 別名

HostHostnameUserPort 配置的值替換為你自己的值。新增所有遠端主機的詳細資訊後,儲存並退出該檔案。

現在你可以使用以下命令通過 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 訪問的任意多臺遠端主機,並使用別名快速訪問它們。

方法 2 – 使用 Bash 別名

這是建立 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 系統。

建議閱讀:

目前這就是全部了,希望它對你有幫助。更多好東西要來了,敬請關注!

乾杯!


via: https://www.ostechnix.com/how-to-create-ssh-alias-in-linux/

作者:sk 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章