概述
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 伺服器的主要設定檔位於以下路徑。