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 服務器,則需要在您的 OpenSSH 配置中啟用 root 登錄。

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

$ sudo nano /etc/ssh/sshd_config

位置 PermitRootLogin 禁止密碼 替換為以下行。也刪了 # 行前的符號。

PermitRootLogin yes

然後保存配置文件。

減少身份驗證嘗試

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

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

$ sudo nano /etc/ssh/sshd_config

下一個, MaxAuthTries 將其值更改為 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 客戶端

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

要安裝 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 服務器以進行管理和故障排除。