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 服務器,則需要在您的 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 服務器以進行管理和故障排除。