SSH(Secure Shell 的縮寫)是一種用於安全訪問遠程系統的協議。這是 Linux 系統上最常用的協議,用於遠程服務器的遠程管理、管理和故障排除。

本文介紹如何通過 SSH 遠程連接到 Linux 服務器。 使用 OpenSSH 實用程序通過 SSH 遠程連接。

先決條件

通過 SSH 遠程連接所需的先決條件是:

  • 2 台 Ubuntu 機器(用於遠程服務器和客戶端)
  • 服務器和客戶端機器上的 Sudo 用戶
  • 遠程服務器 IP 地址或主機名
  • 遠程服務器端口號、用戶名和密碼

SSH Linux 服務器

SSH 進入 Linux 系統所需的步驟是:

  1. 在遠程服務器上安裝 OpenSSH
  2. 在遠程服務器上配置 OpenSSH
  3. 在本地客戶端機器上安裝 OpenSSH 客戶端
  4. 通過 SSH 客戶端訪問遠程 Linux 服務器

筆記: 此處描述的命令已在 Ubuntu 20.04 LTS 上進行了測試。

第 1 步:在遠程服務器上安裝 OpenSSH

OpenSSH 是一種通過 SSH 遠程連接到系統的工具。 必須安裝在通過 SSH 訪問的系統上。

在遠程服務器上,打開終端並發出以下命令。

$ sudo apt update

然後在終端中發出以下命令來安裝 OpenSSH 服務器:

$ sudo apt install openssh-server

然後輸入你的 sudo 密碼。

當要求確認時,單擊 是的,安裝將開始。

第 2 步:在遠程服務器上配置 OpenSSH

安裝 OpenSSH 後,您需要執行所需的配置。 SSH 配置文件是 /etc/ssh/sshd_config要編輯配置文件,請在終端中發出以下命令:

$ nano /etc/ssh/sshd_config

OpenSSH 配置文件如下所示:

我們建議您在對此文件進行任何更改之前製作原始配置文件的副本。

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

僅配置幾個選項並將其餘選項保留為默認值。

更改 SSH 監聽端口

默認情況下,OpenSSH 在 TCP 端口 22 上運行。但是,如果您希望 OpenSSH 服務器偵聽不同的端口(端口號介於 1024 和 65535 之間):

編輯 /etc/ssh/sshd_config 配置文件:

$ sudo nano /etc/ssh/sshd_config

位置’端口 22′ 在文件中。 您可以使用 Ctrl+W 進行搜索。

交換 二十二 傳遞 OpenSSH 服務器偵聽的端口號。同時刪除 # 行前符號。

例如,要將 OpenSSH 偵聽端口設置為 2244,該行將是:

port 2244

保存配置文件。

在 SSH 服務器上啟用 root 登錄

默認情況下,OpenSSH 服務器禁用 root 登錄。也就是說,您不能以 root 身份登錄。如果您需要以 root 身份登錄遠程 SSH 服務器,則必須在 Open SSH 配置中啟用 root 登錄。

編輯 /etc/ssh/sshd_config 配置文件:

$ sudo nano /etc/ssh/sshd_config

位置 允許根登錄 禁止密碼 將其替換為以下行:同時刪除 # 行前符號。

PermitRootLogin yes

保存配置文件。

減少身份驗證嘗試

默認情況下,登錄 SSH 服務器允許 6 次身份驗證嘗試。您可以通過更改參數值來減少這些身份驗證嘗試。 最大身份驗證嘗試.

例如,減少身份驗證嘗試的次數 3, 編輯 /etc/ssh/sshd_config 配置文件:

$ sudo nano /etc/ssh/sshd_config

然後找到 最大身份驗證嘗試 並將其值更改為 3.

同時刪除 # 行前符號。

MaxAuthTries 3

保存配置文件。

允許或拒絕特定用戶登錄 SSH 服務器

默認情況下,所有用戶帳戶都可以通過 SSH 登錄遠程系統。編輯以僅允許特定用戶登錄 SSH 服務器。 /etc/ssh/sshd_config 文檔:

$ sudo nano /etc/ssh/sshd_config

然後通過替換將以下行添加到此文件中 用戶 1 什麼時候 用戶 2 授權登錄的用戶名。

AllowUsers user1 user2

例子:

AllowUsers kbuzdar 錫

上面的行將允許 ‘kbuzdar’ 和 ‘tin’ 通過 SSH 登錄。

同樣,要拒絕所有用戶訪問您的 SSH 服務器,請在此文件中添加以下行: 用戶 1 什麼時候 用戶 2 使用不允許登錄的用戶名。

DenyUsers user1 user2

上面的行將允許除“john”之外的所有用戶通過 SSH 登錄。

然後保存配置文件。

更改配置文件後,使用以下命令重新啟動 SSH 服務:

$ sudo service ssh restart

第 3 步:在本地客戶端計算機上安裝 OpenSSH 客戶端

OpenSSH 客戶端實用程序必須安裝在通過 SSH 連接到 Linux 服務器的客戶端計算機上。

要安裝 OpenSSH 客戶端,請在客戶端計算機上的終端中發出以下命令:

$ sudo apt install openssh-client

當提示輸入密碼時,輸入您的 sudo 密碼。

當要求確認時,單擊 是的,安裝將開始。安裝後,您可以使用 OpenSSH 客戶端。

第 4 步:通過局域網上的 SSH 客戶端訪問 Linux 服務器

OpenSSH 客戶端允許您使用 IP 地址或主機名通過 LAN 連接到 SSH 服務器。在您的客戶端計算機上,使用以下語法通過 SSH 連接到遠程服務器:

$ ssh [username]@[remoteserver IP or hostname]

當提示輸入密碼時,輸入用戶的密碼。建立連接後,您將在遠程服務器上看到 shell 提示。

在這種情況下,遠程服務器的 IP 是“192.168.72.157”,用戶名是“kbuzdar”。所以命令是:

$ ssh [email protected]

如果您更改了 OpenSSH 偵聽端口,則連接到 SSH 服務器的命令將是:

$ ssh -p [port_number] [username]@[ip_address]

例子:

$ ssh -p 2244 [email protected]

通過 SSH 客戶端訪問 Linux 服務器的 Internet

要通過 Internet 連接到遠程服務器,您需要遠程服務器的公共 IP。此外,您需要在路由器上設置端口轉發。要通過 Internet SSH 連接到遠程服務器:

1.首先,你需要知道你的遠程服務器的公網IP地址。為此,請在遠程機器上的終端中發出以下命令:

$ curl ipaddr.pub

2.接下來,您需要在路由器上設置轉發。配置方法因路由器而異,但幾乎所有路由器都可以配置。

3. 找到遠程機器的公共 IP 地址並在路由器上設置端口轉發後,使用以下語法 SSH 到遠程 Linux 機器:

$ ssh [username]@[public_ip_address]

如果遠程服務器配置為使用 22 以外的端口號,則語法為:

$ ssh -p [port_number] [username]@[public_ip_address]

這就是您可以通過 SSH 連接到 Linux 服務器的方式。 我們已經向您展示瞭如何使用 OpenSSH 實用程序通過 SSH 連接到遠程 Linux 服務器。我們還介紹了一些在通過 SSH 連接時可能有用的基本配置。您現在可以輕鬆管理遠程 Linux 服務器以進行管理和故障排除。