SSH(Secure Shell 的縮寫)是一種用於安全訪問遠程系統的協議。這是 Linux 系統上最常用的協議,用於遠程服務器的遠程管理、管理和故障排除。
本文介紹如何通過 SSH 遠程連接到 Linux 服務器。 使用 OpenSSH 實用程序通過 SSH 遠程連接。
先決條件
通過 SSH 遠程連接所需的先決條件是:
- 2 台 Ubuntu 機器(用於遠程服務器和客戶端)
- 服務器和客戶端機器上的 Sudo 用戶
- 遠程服務器 IP 地址或主機名
- 遠程服務器端口號、用戶名和密碼
SSH Linux 服務器
SSH 進入 Linux 系統所需的步驟是:
- 在遠程服務器上安裝 OpenSSH
- 在遠程服務器上配置 OpenSSH
- 在本地客戶端機器上安裝 OpenSSH 客戶端
- 通過 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 服務器以進行管理和故障排除。