概述
sshd 在背景執行,預設監聽 TCP 連接埠 22,等待 SSH 用戶端的連線。所有通訊都經過加密以確保安全,並支援多種驗證方式(密碼、公開金鑰等)。
主要功能
- 提供安全的遠端 shell 連線
- 支援 SCP/SFTP 檔案傳輸
- 埠轉發和隧道功能
- 支援多種驗證機制(密碼、公開金鑰)
預設設定檔
sshd 的行為主要透過以下設定檔控制。
- 路徑: /etc/ssh/sshd_config
主要選項
sshd 通常作為系統服務執行,因此很少直接使用命令列選項,但有一些選項可用於除錯或測試目的。
執行與除錯
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`sshd` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
sshd 通常透過 systemd 等服務管理器進行控制。
檢查 sshd 服務狀態
sudo systemctl status sshd
檢查 sshd 服務的目前狀態。
重新啟動 sshd 服務
sudo systemctl restart sshd
在變更設定後重新啟動 sshd 服務以套用變更。
啟用 sshd 服務 (開機時自動啟動)
sudo systemctl enable sshd
設定 sshd 服務在系統開機時自動啟動。
驗證 sshd 設定檔
sudo sshd -t
檢查 sshd_config 檔案是否有語法錯誤。
以除錯模式執行 sshd (用於測試)
sudo sshd -d -p 2222
在非預設埠 (例如 2222) 上以除錯模式執行 sshd。這對於在不影響實際服務的情況下進行測試很有用。
安裝
sshd 是 OpenSSH 伺服器套件的一部分。大多數 Linux 發行版都預設安裝了它,如果沒有,您可以使用以下命令進行安裝。
Debian/Ubuntu 系統
sudo apt update
sudo apt install openssh-server
CentOS/RHEL/Fedora 系統
sudo yum install openssh-server # 或 sudo dnf install openssh-server
提示與注意事項
sshd 在系統安全中扮演著至關重要的角色,因此在設定時建議考慮以下事項。
安全加強提示
- **變更預設埠**:將 `Port 22` 改為其他任意高埠號,以減少暴力破解攻擊。
- **停用 root 登入**:設定 `PermitRootLogin no`,禁止 root 帳戶直接登入。
- **停用密碼驗證並使用公開金鑰驗證**:設定 `PasswordAuthentication no` 並啟用公開金鑰驗證 (`PubkeyAuthentication yes`) 以加強安全性。
- **限制允許的用戶**:使用 `AllowUsers` 或 `AllowGroups` 選項明確指定允許 SSH 連線的使用者或群組。
- **防火牆設定**:設定防火牆 (ufw, firewalld 等),僅允許從外部存取 SSH 埠(預設 22 或變更後的埠)。
變更設定後重新啟動服務
修改 `sshd_config` 檔案後,務必使用 `sudo systemctl restart sshd` 命令重新啟動服務,變更才會生效。
連線測試
變更設定後,務必從另一個終端機嘗試 SSH 連線,以確認變更是否正確套用。建議在保持現有會話的同時進行測試。