OpenSSH 是 Linux 系統標準的遠端登入與檔案傳輸套件,取代不安全的 Telnet、FTP、R 系列工具。核心元件:
ssh:替代 telnet/rlogin/rsh,加密遠端 Shell。scp / sftp:替代 ftp,加密檔案傳輸。sshd 送出主機公鑰,客戶端提示確認是否信任(防中間人攻擊)。~/.ssh/known_hosts(含 IP/主機名與公鑰)。known_hosts,不符則報警(可能主機重裝、升級、或遭劫持)。伺服器端金鑰對存放於 /etc/ssh/(ssh_host_*_key 私鑰、ssh_host_*_key.pub 公鑰)。
sudo apt-get update
sudo apt-get install openssh-server
驗證服務啟動:pidof sshd 或 systemctl status ssh。
ssh [選項] [-l 登入用戶] [用戶@]主機 [命令]
-l user 或 user@host 指定登入身分(預設為當前用戶)。-p 指定其他埠。ssh -l webgod 192.168.1.100 或 ssh webgod@192.168.1.100。ssh-keygen -t rsa -b 2048(一路 Enter)。ssh-copy-id user@host 或手動將 ~/.ssh/id_rsa.pub 內容加入伺服器 ~/.ssh/authorized_keys。/etc/ssh/sshd_config:PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys~/.ssh/known_hosts 刪除對應行,或用 ssh-keygen -R hostname 移除舊紀錄。authorized_keys 權限(600)、目錄權限(700)、SELinux 上下文(restorecon -R ~/.ssh)。sshd 運行、防火牆開放 22 埠、ListenAddress 設定正確。掌握 OpenSSH 基礎,是 Linux 運維與開發的入門必修課。