首頁 > 網路管理 > openssh-server

OpenSSH 伺服器:SSH 服務設定與管理

OpenSSH 伺服器是一個軟體套件,透過 Secure Shell (SSH) 協定提供對遠端系統的安全加密通訊。此套件主要包含 'sshd' 守護程式,支援遠端登入、檔案傳輸 (SCP, SFTP) 和通道技術等。對於系統管理員遠端管理伺服器以及使用者安全存取檔案至關重要。

概述

OpenSSH 伺服器套件提供 'sshd' (SSH 守護程式),用於接收和處理 SSH 用戶端的連線請求。它是對遠端系統進行安全存取的關鍵元件,透過資料加密和強大的驗證機制來增強安全性。

主要功能

  • 遠端登入與 Shell 存取 (SSH)
  • 安全檔案傳輸 (SCP, SFTP)
  • 埠轉發與通道技術
  • 支援多種驗證方式 (密碼、公開金鑰、GSSAPI 等)

安裝

OpenSSH 伺服器通常未預設包含在大多數 Linux 發行版中,或在最小安裝時被排除。以下是主要發行版中安裝 OpenSSH 伺服器的方法。

Debian/Ubuntu

sudo apt update
sudo apt install openssh-server

使用 APT 套件管理器進行安裝。

CentOS/RHEL/Fedora

sudo yum install openssh-server
# 或使用 dnf
sudo dnf install openssh-server

使用 YUM 或 DNF 套件管理器進行安裝。

安裝後檢查服務

安裝後,請檢查 'sshd' 服務是否自動啟動,並在需要時啟用它。

檢查與啟用服務

sudo systemctl status sshd
sudo systemctl enable sshd --now

主要選項

OpenSSH 伺服器的主要設定透過 '/etc/ssh/sshd_config' 檔案進行。以下是此設定檔中常用的選項。

sshd_config 設定

生成的命令:

請試著組合命令。

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

`openssh-server` 執行命令。

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

使用範例

與 OpenSSH 伺服器設定和管理相關的常見使用範例。

啟動/停止/重啟 sshd 服務

sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd

在使用 systemd 的系統中控制 sshd 服務。

檢查 sshd 服務狀態

sudo systemctl status sshd

檢查 sshd 守護程式的目前狀態。

更改 SSH 埠號 (修改 sshd_config)

sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd

將預設 SSH 埠號 (22) 改為 2222 的範例。修改檔案後需要重啟 sshd 服務。

停用 root 登入

sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

在 sshd_config 中將 PermitRootLogin 設定為 'no' 以增強安全性。

僅允許特定使用者連線

echo 'AllowUsers myuser' | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd

在 sshd_config 中新增 'AllowUsers' 選項,僅允許 'myuser' 使用者進行 SSH 連線。

提示與注意事項

關於安全高效運行 OpenSSH 伺服器的提示與注意事項。

安全強化提示

  • **更改預設埠號 (22)**:可減少成為暴力破解攻擊 (Brute-force attack) 的目標。
  • **停用密碼驗證,使用公開金鑰驗證**:這是最安全的驗證方法。密碼有被猜測或洩漏的風險。
  • **停用 root 登入**:root 帳戶擁有所有權限,不允許直接登入,而是透過一般使用者帳戶登入後使用 `sudo` 是更安全的做法。
  • **僅允許特定使用者/群組**:使用 `AllowUsers` 或 `AllowGroups` 選項限制可連線的帳戶。
  • **防火牆設定**:設定防火牆 (ufw, firewalld 等),僅允許外部存取 SSH 埠號 (預設 22 或更改後的埠號)。
  • **安裝 Fail2ban**:透過封鎖重複登入失敗的 IP 位址來防禦暴力破解攻擊。

修改設定時的注意事項

修改 sshd_config 檔案後,務必使用 `sudo sshd -t` 命令檢查設定檔的語法錯誤,然後再使用 `sudo systemctl restart sshd` 命令重啟服務。使用有錯誤的設定重啟服務可能導致 SSH 連線中斷。


相同類別命令