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

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


本文轉載來自 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 的兩個中級證書 ...