首頁 > 網路管理 > ssh-server

SSH 伺服器 (sshd):遠端連線管理

SSH 伺服器是使用安全殼層 (SSH) 協定提供對遠端系統安全連線的軟體。它主要以名為 `sshd` (SSH Daemon) 的服務執行,透過加密的通訊通道實現遠端命令執行、檔案傳輸 (SCP/SFTP)、連接埠轉發等功能。這對於系統管理、開發、資料傳輸等各種遠端作業至關重要。

概述

SSH 伺服器接收並驗證用戶端的 SSH 連線請求,並建立安全的通訊階段。這使得能夠在遠端執行命令或安全地傳輸檔案。伺服器的核心元件是 `sshd` 常駐程式,該常駐程式通常設定為在系統啟動時自動啟動。

主要功能

SSH 伺服器提供的核心功能。

  • 遠端 Shell 連線:透過加密的終端機連線到遠端伺服器以執行命令
  • 安全檔案傳輸:使用 SCP (Secure Copy) 和 SFTP (SSH File Transfer Protocol) 進行檔案上傳/下載
  • 連接埠轉發:透過隧道傳輸本機/遠端連接埠,以安全地存取未加密的服務
  • 金鑰式驗證:使用 SSH 金鑰而非密碼,提供更強大的安全驗證

主要選項 (sshd 命令)

執行 `sshd` 常駐程式時使用的主要選項。通常透過 `systemd` 等服務管理器執行,因此這些選項主要在進行偵錯或測試特定環境設定時很有用。

執行與偵錯

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`ssh-server` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

安裝

在大多數 Linux 發行版中,SSH 伺服器透過 `openssh-server` 套件提供。如果預設未安裝,您可以使用以下命令進行安裝。

Debian/Ubuntu 基礎系統

sudo apt update
sudo apt install openssh-server

使用 APT 套件管理器安裝 `openssh-server`。

CentOS/RHEL 基礎系統

sudo yum install openssh-server
# 或 Fedora/最新 RHEL:
sudo dnf install openssh-server

使用 YUM 或 DNF 套件管理器安裝 `openssh-server`。

使用範例

管理和設定 SSH 伺服器的常見方法。

啟動 SSH 服務

sudo systemctl start ssh

啟動 SSH 常駐程式 (`sshd`) 服務。

重新啟動 SSH 服務

sudo systemctl restart ssh

重新啟動 SSH 常駐程式服務。通常在修改設定檔後套用變更時使用。

檢查 SSH 服務狀態

sudo systemctl status ssh

檢查 SSH 常駐程式服務的目前狀態。

啟用 SSH 服務自動啟動

sudo systemctl enable ssh

設定 SSH 服務在系統啟動時自動啟動。

開啟防火牆中的 SSH 連接埠 (UFW)

sudo ufw allow ssh
# 或使用特定連接埠:
sudo ufw allow 2222/tcp

如果使用 UFW (Uncomplicated Firewall),則允許 SSH 預設連接埠 (22)。

編輯 SSH 設定檔

sudo nano /etc/ssh/sshd_config

編輯 SSH 伺服器的主要設定檔 `sshd_config`。變更後務必重新啟動 SSH 服務。

提示與注意事項

為安全有效地營運 SSH 伺服器而提供的重點提示和注意事項。

安全強化提示

為強化 SSH 伺服器安全性而建議採取的措施。

  • **變更預設連接埠**:將預設 SSH 連接埠 (22) 變更為其他不常使用的連接埠 (例如 2222),以減少暴力破解攻擊的嘗試。 (修改 `/etc/ssh/sshd_config` 檔案中的 `Port` 指令)
  • **使用金鑰式驗證而非密碼**:生成 SSH 金鑰對,提供比密碼驗證更強大的安全性。 (`PasswordAuthentication no` 設定)
  • **停用 root 登入**:禁止直接使用 `root` 帳戶 SSH 登入,並要求使用者登入後使用 `sudo`。 (`PermitRootLogin no` 設定)
  • **使用 Fail2Ban**:安裝 `Fail2Ban` 等工具,自動封鎖重複登入失敗的 IP 位址,以防範暴力破解攻擊。
  • **限制允許的使用者/群組**:使用 `AllowUsers` 或 `AllowGroups` 指令明確指定允許 SSH 登入的使用者或群組。

file SSH 設定檔路徑

/etc/ssh/sshd_config

SSH 伺服器的主要設定檔位於以下路徑。


相同類別命令