Linux中國

如何在 Linux 中創建 SSH 別名

如果你經常通過 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 別名

將 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 訪問的任意多台遠程主機,並使用別名快速訪問它們。

方法 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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理。

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...