ssh [-l login_name] [-p port] [user@]hostname
| 場景 | 命令 |
|---|---|
| 默認用戶、默認端口 | ssh 192.168.0.11 |
| 指定用戶 | ssh -l root 192.168.0.11 或 ssh root@192.168.0.11 |
| 指定非標準端口 | ssh -p 12333 192.168.0.11 |
| 指定用戶+端口 | ssh -l root -p 12333 192.168.0.11 或 ssh -p 12333 root@192.168.0.11 |
| 執行單條遠程命令 | ssh root@192.168.0.11 "df -h" |
| X11 轉發 (圖形界面) | ssh -X root@192.168.0.11 |
| 壓縮傳輸 (低帶寬) | ssh -C root@192.168.0.11 |
vim /etc/ssh/sshd_configPort 12333 # 修改為五位數高端口,避開掃描
PermitRootLogin no # 禁用 root 密碼登錄
PubkeyAuthentication yes # 啟用公鑰認證
PasswordAuthentication no # 禁用密碼認證 (需先配置好密鑰)
PermitEmptyPasswords no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
systemctl reload sshd 或 service sshd restart# 客戶端生成密鑰對
ssh-keygen -t ed25519 -C "user@host"
# 複製公鑰到服務器
ssh-copy-id -p 12333 user@192.168.0.11
# 服務器驗證
ssh -p 12333 user@192.168.0.11 # 應無需密碼直接登錄
Host myserver
HostName 192.168.0.11
Port 12333
User root
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveCountMax 3
之後僅需 ssh myserver 即可連接。
~/.ssh/known_hosts 對應行。~/.ssh 權限 (700)、authorized_keys (600)、用戶家目錄屬主。「修改端口 + 禁用 Root 密碼 + 強制密鑰認證 + 客戶端配置別名」是 SSH 安全與效率的標準組合拳。