Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux SSH 遠程登錄命令完全指南:基礎語法、端口修改、禁用 Root 登錄與密鑰認證

編輯:Linux 教學

基礎語法

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

安全加固:修改端口 & 禁用 Root 密碼登錄

  1. 編輯配置:vim /etc/ssh/sshd_config
  2. 修改項:
Port 12333                    # 修改為五位數高端口,避開掃描
PermitRootLogin no            # 禁用 root 密碼登錄
PubkeyAuthentication yes      # 啟用公鑰認證
PasswordAuthentication no     # 禁用密碼認證 (需先配置好密鑰)
PermitEmptyPasswords no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
  1. 重載服務: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  # 應無需密碼直接登錄

客戶端簡化配置 (~/.ssh/config)

Host myserver
    HostName 192.168.0.11
    Port 12333
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3

之後僅需 ssh myserver 即可連接。

常見問題

  • 連接超時:檢查防火牆 (服務器開放端口、客戶端出站)、雲廠商安全組。
  • Host key verification failed:服務器重裝導致指紋變化,刪除 ~/.ssh/known_hosts 對應行。
  • Permission denied (publickey):檢查 ~/.ssh 權限 (700)、authorized_keys (600)、用戶家目錄屬主。

總結

「修改端口 + 禁用 Root 密碼 + 強制密鑰認證 + 客戶端配置別名」是 SSH 安全與效率的標準組合拳。

Copyright © Windows教程網 All Rights Reserved