如何使用 SSH 遠程管理 Linux 服務器

SSH 代表 Secure Shell,它是一種用於安全訪問本地網絡或 Internet 上的遠程服務器以進行配置、管理、監控和故障排除等的協議。

在本文中,我將討論如何借助 SSH 管理遠程 Linux 服務器。

我已經在我的 Debian 10 機器上執行了所有命令。

先決條件

您需要具備以下條件。

  1. 兩台具有 root 權限的 Debian 10 機器。
  2. 遠程機器的 IP 地址、用戶名和密碼。
  3. 兩台機器上的互聯網連接。

如何安裝一個開放的SSH服務器?

在您的基礎設施中設置新的 Linux 機器後,重要的是要準備好進行遠程訪問。 因此,必須在您嘗試訪問的遠程服務器或機器上安裝 open ssh。

在安裝開放式 SSH 服務器之前,請運行以下命令來更新存儲庫。

apt-get 更新

等待操作完成。

更新存儲庫後,以 root 權限執行以下命令以安裝開放的 SSH 服務器。

apt-get 安裝 openssh-server

當系統要求您確認時,請按鍵盤上的“y”並等待安裝完成。 這可能需要幾分鐘才能完成。

配置 SSH 服務器設置

一旦在服務器端安裝了 Open SSh,我們就可以編輯它的基本配置設置。 打開終端並以root權限執行以下命令。

nano /etc/ssh/sshd_config

以下是示例輸出。

您可以更改上述文件中的各種參數。

默認情況下,SSH 偵聽端口 22。您可以更改為所需的端口。 您還可以更改可以與服務器同時建立的最大會話數(MaxSessions),默認值為 10。

更改服務器的 SSH 端口

正如我們所討論的,服務器默認偵聽端口 22。 如果要將服務器配置為偵聽特定端口,請按以下步驟操作。

打開終端並以root權限執行以下命令。

nano /etc/ssh/sshd_config

應該打開一個文件,如上面的屏幕截圖所示。

找到端口 22 或 #Port 22 並鍵入所需的端口號,不帶 # 號。

建議使用 1024 – 65535 之間的端口號,因為 0-1023 端口是為特定服務保留的。

假設分配2222,在SSH配置文件中寫入如下內容。

端口 2222

以下是更改端口號後的示例輸出。

通過在終端上執行以下命令重新啟動 SSH 服務。

服務 ssh 重啟

在 SSH 服務器上啟用 root 登錄

默認情況下,出於安全原因,您無法直接使用root權限登錄SSH服務器。 如果要啟用此登錄,則需要更改 SSH 服務器配置文件。

打開終端,以root權限運行以下命令打開配置文件。

nano /etc/ssh/sshd_config

在身份驗證塊中添加以下行,

PermitRootLogin 是

以下是在配置文件中進行更改後的示例輸出。

允許SSH root登錄

通過在具有 root 權限的終端上運行以下命令來重新啟動 SSH 服務。

服務 ssh 重啟

減少對 SSH 服務器的失敗登錄嘗試

默認情況下,您可以嘗試登錄 SSH 服務器 6 次。 一旦該值達到 6 的一半,就會記錄額外的登錄失敗。 如果要更改此值,則必須調整 SSH 服務器配置文件中的 MaxAuthTries 參數。

打開終端並以root權限執行以下命令。

在 Authentication 塊中添加以下行(假設您想將此值設置為 1)。

MaxAuthTries 1

以下是對文件進行更改後的示例輸出。

配置最大身份驗證重試次數

通過在具有 root 權限的終端上運行以下命令來重新啟動 SSH 服務。

服務 ssh 重啟

下面是示例輸出。

單次登錄失敗後,您將收到太多身份驗證失敗消息,如下面的屏幕截圖所示。

強制 SSH 服務器偵聽特定 IP

默認情況下,SSH 服務器偵聽分配給 SSH 服務器的所有 IP。 但是,通過更改配置文件,您可以強制 SSH 服務器偵聽特定 IP。 這是如何。

假設我有兩個 IP 地址(10.1.1.2 和 10.1.1.3)分配給我的接口,如下面的屏幕截圖所示。 我想強制我的服務器監聽 IP 地址 10.1.1.2。

配置SSH服務器監聽IP

打開終端並以root權限運行以下命令打開SSH配置文件。

nano /etc/ssh/sshd_config

在文件頂部添加以下行,

監聽地址 10.1.1.2

以下是在配置文件中進行更改後的示例輸出。

配置監聽 IP 地址

通過在終端上執行以下命令重新啟動 SSH 服務。

服務 ssh 重啟

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

默認情況下,每個用戶都可以遠程登錄SSH服務器。 但是,您可以允許或拒絕特定用戶或組登錄 SSH 服務器。

打開終端,以root權限運行以下命令,打開SSH服務器配置文件。

nano /etc/ssh/sshd_config

下面是示例輸出。

編輯 SSHD 配置文件

假設您只想允許用戶“tony”遠程登錄 SSH 服務器。 其他用戶將無法登錄到 SSH 服務器。 如果你有多個用戶,他們應該用空格隔開。

在 SSH 服務器配置文件中添加以下行。

允許用戶托尼

下面是添加該行後的示例配置文件,

只允許特定用戶連接到 SSH

通過在終端上以 root 權限運行以下命令來重新啟動 SSH 服務,

服務 ssh 重啟

同樣,如果您想允許所有用戶遠程連接到 SSH 服務器,但又想拒絕一個或多個,請在服務器配置文件中添加以下幾行。 用戶應由命令分隔。 假設我只想拒絕用戶“tony”,請在服務器配置文件中添加以下行。

拒絕用戶

以下是添加上述行後的示例配置文件。

拒絕用戶

通過在終端上以 root 權限運行以下命令來重新啟動 SSH 服務。

服務 ssh 重啟

同樣,您可以通過在配置文件中添加以下幾行來允許和拒絕用戶組登錄 SSH 服務器。

AllowGroups <組名>

或者

DenyGroups <組名>

如果您有多個要允許或拒絕的組,您可以用空格分隔它們。

允許和拒絕的組合按以下順序處理。

DenyUsers、AllowUsers、DenyGroups,最後是 AllowGroups

更改登錄寬限時間

默認情況下,您有 2 分鐘的時間在 SSH 之後登錄遠程服務器。 如果在 2 分鐘內無法登錄遠程服務器,SSH 將斷開連接。 以下是更改登錄寬限時間的方法。

打開終端並以root權限運行以下命令打開服務器配置文件。

nano /etc/ssh/sshd_config

下面是示例輸出。

更改 SSH 登錄寬限時間

找到以下行,

#LoginGraceTime 2m

將此行替換為您想要的寬限時間,例如 1 分鐘。 完整的行應該是,

登錄GraceTime 1m

以下是更改後的示例配置文件。

配置登錄寬限時間

關閉文件並通過發出 file 命令重新啟動 SSH 服務。

服務 ssh 重啟

如何安裝 OpenSSH 客戶端

將要訪問遠程機器或服務器的 Debian 10 機器稱為客戶端,我們需要在其上安裝“開放 SSH 客戶端”。

打開終端並運行以下命令來更新存儲庫。

apt-get 更新

等待操作完成。

更新存儲庫後,立即執行以下命令以安裝開放的 SSH 客戶端。

apt-get 安裝 openssh-client

當系統要求您確認時,請按鍵盤上的 Y。 安裝可能需要幾分鐘,因此請耐心等待。

在客戶端和服務器上執行以下命令以確認 SSH 服務正在運行。

安裝 OpenSSH 客戶端

一旦我們在遠程機器上的客戶端和服務器上都運行了 SSH,我們就可以進行遠程管理了。

使用 SSH 連接到遠程 Debian 10 服務器

為了連接到遠程 Debian 10 機器,您需要知道它的 IP 地址、用戶名和密碼。

如果您的 SSH 服務器正在偵聽默認端口 22,則以下是該命令的完整語法。

ssh <[email protected]>

系統將提示您輸入用戶密碼,在鍵盤的幫助下提供並點擊 Enter.

假設用戶是tony,遠程機器IP地址是10.1.1.2。 在終端上運行以下命令。

ssh [email protected]

下面是示例輸出。

通過 ssh 遠程連接

您現在應該已安全連接,如上面的屏幕截圖所示。

但是,如果您的 SSH 服務器正在偵聽某個其他端口(假設為 2222)。 該命令的完整語法應如下所示。

ssh -p <端口號> [email protected] 地址

假設用戶是tony,遠程機器IP地址是10.1.1.2。 在終端上運行以下命令。

ssh -p 2222 [email protected]

SSH 連接

結論

這就是使用 SSH 遠程管理 Linux 服務器的教程。 我希望你喜歡它。