SSH 到遠端伺服器

Fumbani Banda 2022年5月11日
SSH 到遠端伺服器

本教程演示瞭如何使用 ssh 安全地連線到遠端 Linux 伺服器。

使用 SSH (Secure Socket Shell) 安全訪問遠端 Linux 伺服器

SSH 是 Secure Socket Shell 的縮寫。它是一種用於安全訪問遠端 Linux 機器的協議。

一旦在你的計算機和遠端 Linux 機器之間建立了 SSH 連線,就會在遠端 Linux 機器上啟動一個 shell,你可以在你的計算機上訪問這個 shell。你可以使用此 shell 在遠端 Linux 機器(如本地計算機)上執行所有命令。

SSH 協議對於訪問遠端 Linux 機器非常安全,系統和網路管理員通常使用它來維護和配置遠端 Linux 機器。

SSH 使用客戶端-伺服器架構。它具有客戶端元件和伺服器端元件。想要訪問遠端 Linux 機器的人需要在他們的機器上安裝 SSH 客戶端。

SSH 客戶端是訪問遠端 Linux 機器的程式。該人將遠端 Linux 機器的資訊和憑據輸入 SSH 客戶端,如果詳細資訊有效,則啟動安全的 SSH 連線。

伺服器端元件在遠端 Linux 機器上執行。遠端 Linux 機器需要安裝並啟動和執行 SSH 服務。

SSH 服務不斷監聽特定埠(如伺服器)的傳入連線。如果 SSH 客戶端發起連線,SSH 服務會以它支援的協議版本進行響應,兩者將交換用於識別的資料。一旦憑證有效,就會建立 SSH 連線。

有很多 SSH 工具可以使用。OpenSSH 就是其中之一,主要用於 Linux 發行版。本教程將使用 OpenSSH 進行演示。

在 Linux 中安裝 OpenSSH 客戶端

許多 Linux 發行版都已經安裝了 SSH 客戶端。在 Linux 中,最好在安裝程式之前檢查程式是否已安裝。

我們通過輸入 ssh 並按Enter來檢查 ssh 是否已經安裝。

ssh img1

ssh 命令在標準輸出中顯示其使用情況。這意味著 SSH 客戶端已經安裝。如果未安裝 SSH 客戶端,請先安裝它,然後再繼續本教程。

鍵入以下命令以在你的計算機上安裝 OpenSSH 客戶端。它將要求你輸入超級使用者密碼,提供密碼以繼續安裝。

sudo apt-get install openssh-client

Windows 使用者可以使用著名的 PuTTY 程式作為 SSH 客戶端。

在遠端 Linux 機器上安裝 OpenSSH 伺服器

在訪問遠端 Linux 機器之前,請確保 OpenSSH 伺服器已安裝在該機器上。如果未安裝,請確保安裝它。

要在 Linux 上安裝 OpenSSH 伺服器,請執行以下命令。

sudo apt-get install openssh-server

我們嘗試在下圖中安裝 OpenSSH 伺服器,但機器說我們已經在我們的機器上安裝了 OpenSSH 伺服器。

ssh img2

在遠端 Linux 機器上啟動 OpenSSH 伺服器

在遠端 Linux 機器上成功安裝 OpenSSH 伺服器後,我們需要啟動 OpenSSH 服務來監聽來自 SSH 客戶端的傳入連線。

首先,我們通過輸入 sudo service ssh status 檢查 OpenSSH 服務的狀態。下面的輸出表明該服務處於非活動狀態。

ssh img3

我們使用 sudo service ssh start 命令來啟動 OpenSSH 服務。該命令啟動 ssh 守護程式執行。

我們使用 sudo service ssh status 命令來檢查服務的狀態。輸出表明該服務現在處於活動(執行)狀態。

遠端 Linux 機器安裝了 OpenSSH 伺服器,並且它已啟動並正在執行。它現在已準備好接受來自 SSH 客戶端的傳入連線。

ssh img4

使用 ssh 命令訪問遠端 Linux 機器

我們在遠端 Linux 機器上建立一個新使用者,我們將在本教程中用於演示目的。使用 useradd 命令,我們建立一個新使用者 delftstack

我們使用 passwd 命令設定使用者的密碼 delftstack

ssh img5

現在,我們進入安裝了 OpenSSH 客戶端的機器,並嘗試使用新建立的使用者 delftstack 訪問遠端 Linux 機器。

SSH 使用以下符號登入到遠端 Linux 機器。

ssh username@remotehostname
ssh username@remoteIPaddress

SSH 將詢問使用者的密碼 delftstack,輸入密碼,然後按Enter。看到如下輸出後,你已成功登入到遠端 Linux 機器。

ssh img6

作者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub