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

SSH 密鑰登錄 Linux 服務器完整圖解:Xshell 生成密鑰對、配置 authorized_keys、禁用密碼登錄

編輯:關於伺服器

客戶端生成密鑰對(以 Xshell 6 為例)

  1. 工具 → 新建用戶密鑰生成向導
  2. 密鑰類型選 RSA,長度 2048 或 4096
  3. 密鑰名稱自定義(如 id_rsa_myserver),可設置密碼保護私鑰(推薦)
  4. 完成後點「另存為」,分別導出 公鑰(.pub)與 私鑰(無後綴)至本地安全位置

服務器端部署公鑰

# 1. 切換到目標用戶家目錄
cd ~

# 2. 建立 .ssh 目錄(權限 700)
mkdir -p .ssh
chmod 700 .ssh
cd .ssh

# 3. 創建/編輯 authorized_keys(權限 600)
vi authorized_keys
# 將 Xshell 導出的公鑰內容(ssh-rsa AAAA... user@host)完整貼入,一行一個鑰

# 4. 修正權限(關鍵!權限不對 SSH 拒絕使用)
chmod 600 authorized_keys
chmod 700 ~/.ssh

修改 SSH 配置啟用密鑰認證、禁用密碼

vi /etc/ssh/sshd_config

# 確保以下設置:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no        # 禁用密碼登錄(建議驗證密鑰無誤後再改)
PermitRootLogin prohibit-password # 僅允許密鑰登錄 root

# 重啟服務
service sshd restart
# 或 systemctl restart sshd

驗證登錄

  • Xshell 新建會話,認證方式選 Public Key,選擇私鑰文件,若設了密鑰密碼則輸入
  • 成功登入後,/var/log/secure 顯示 Accepted publickey

常見坑點排查

現象原因修復
Permission denied (publickey).ssh 或 authorized_keys 權限過寬chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
無提示直接斷開SELinux 標籤錯誤restorecon -Rv ~/.ssh
仍提示輸入密碼PasswordAuthentication yes改為 no 並重啟 sshd

圖片說明

原文包含 7 張 Xshell 密鑰生成向導截圖,關鍵步驟已在上文文字化,實操時參考向導即可。

Xshell 密鑰生成向導1 Xshell 密鑰生成向導2 Xshell 密鑰生成向導3 Xshell 密鑰生成向導4 Xshell 密鑰生成向導5 Xshell 密鑰生成向導6 Xshell 密鑰生成向導7
Copyright © Windows教程網 All Rights Reserved