无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網易首頁 > 網易號 > 正文 申請入駐

臨近年底,病毒肆虐,為防暴力破解,把服務器改為證書登錄

0
分享至


SSH證書登錄配置完整指南

本文檔詳細說明了如何配置Linux云服務器僅允許SSH證書登錄,禁止密碼登錄,以提高服務器安全性。

目錄

  1. 1. 前置條件

  2. 2. 第一步:生成SSH密鑰對

  3. 3. 第二步:將公鑰添加到云服務器

  4. 4. 第三步:修改SSH配置禁用密碼登錄

  5. 5. 第四步:重啟SSH服務并測試

  6. 6. 后續使用方法

  7. 7. 常用管理命令

  8. 8. 故障排除

前置條件 客戶端(Windows)
  • ? 已安裝OpenSSH客戶端(Windows 10/11默認已安裝)

  • ? 有PowerShell訪問權限

  • ? 有服務器root權限或sudo權限

服務端(Linux)
  • ? 已安裝OpenSSH服務器

  • ? 有root權限或sudo權限

  • ? 當前可以通過密碼登錄

第一步:生成SSH密鑰對 方法一:使用ssh-keygen生成新密鑰(推薦)

在Windows PowerShell中執行:

# 生成4096位RSA密鑰對
ssh-keygen -t rsa -b 4096 -f "$env:USERPROFILE\.ssh\id_rsa_server" -C "admin@server"

參數說明:

  • ?-t rsa:使用RSA算法

  • ?-b 4096:密鑰長度為4096位(更安全)

  • ?-f:指定密鑰文件路徑

  • ?-C:添加注釋(通常是郵箱)

執行后會提示:

Enter passphrase (empty for no passphrase): 

建議:

  • ? 可以設置密碼短語(passphrase)以提高安全性

  • ? 如果不需要,直接按Enter跳過

方法二:使用現有密鑰

如果您已經有SSH密鑰,可以跳過此步驟,直接使用現有密鑰。

生成的文件

生成后會創建兩個文件:

  • ?私鑰C:\Users\YourUsername\.ssh\id_rsa_server

  • ?公鑰C:\Users\YourUsername\.ssh\id_rsa_server.pub

?? 重要提示:

  • ? 私鑰文件必須妥善保管,不要泄露

  • ? 公鑰文件可以公開,需要添加到服務器

第二步:將公鑰添加到云服務器 方法一:使用ssh-copy-id(推薦,Linux客戶端)

ssh-copy-id -i ~/.ssh/id_rsa_server.pub root@服務器IP
方法二:手動添加(Windows客戶端) 2.1 查看公鑰內容

Get-Content "$env:USERPROFILE\.ssh\id_rsa_server.pub"
2.2 登錄到服務器

$env:Path += ";$env:SystemRoot\System32\OpenSSH"
ssh root@服務器IP
2.3 創建.ssh目錄(如果不存在)

mkdir -p ~/.ssh
chmod 700 ~/.ssh
2.4 添加公鑰到authorized_keys

echo "您的公鑰內容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2.5 驗證公鑰已添加

cat ~/.ssh/authorized_keys
方法三:使用PowerShell命令(推薦)

# 一次性完成公鑰添加
$env:Path += ";$env:SystemRoot\System32\OpenSSH"
$publicKey = Get-Content "$env:USERPROFILE\.ssh\id_rsa_server.pub"
ssh root@服務器IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo '$publicKey' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
測試證書登錄

ssh -i "$env:USERPROFILE\.ssh\id_rsa_server" root@服務器IP

如果可以成功登錄,說明公鑰配置正確!

第三步:修改SSH配置禁用密碼登錄 3.1 備份SSH配置文件

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
3.2 修改SSH配置文件 方法一:使用sed命令(推薦)

# 禁用密碼登錄
sed -i 's/ yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config


# 啟用公鑰認證
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
方法二:使用vim編輯器

vim /etc/ssh/sshd_config

找到并修改以下配置項:

# 禁用密碼登錄
PasswordAuthentication no

# 啟用公鑰認證
PubkeyAuthentication yes

# 確保以下配置(可選,提高安全性)
PermitRootLogin prohibit-password

保存并退出:

  • ? 按Esc

  • ? 輸入:wq

  • ? 按Enter

3.3 驗證配置

grep -E '(PasswordAuthentication|PubkeyAuthentication)' /etc/ssh/sshd_config

預期輸出:

PasswordAuthentication no
PubkeyAuthentication yes
第四步:重啟SSH服務并測試 4.1 重啟SSH服務

systemctl restart sshd
4.2 檢查SSH服務狀態

systemctl status sshd

預期輸出:

● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since ...
4.3 測試證書登錄

保持當前SSH連接不要斷開!(防止配置錯誤導致無法登錄)

打開新的終端窗口,測試證書登錄:

ssh -i "$env:USERPROFILE\.ssh\id_rsa_server" root@服務器IP

如果可以成功登錄,說明配置正確!

4.4 測試密碼登錄(應該失敗)

ssh -o StrictHostKeyChecking=no -o PreferredAuthentications=password root@服務器IP "echo '測試'"

預期結果:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

如果看到這個錯誤,說明密碼登錄已成功禁用!

后續使用方法 方法一:直接使用私鑰文件

$env:Path += ";$env:SystemRoot\System32\OpenSSH"
ssh -i "C:\Users\YourUsername\.ssh\id_rsa_server" -o StrictHostKeyChecking=no root@服務器IP
方法二:配置SSH配置文件(推薦) 2.1 創建SSH配置文件

在Windows上創建或編輯C:\Users\YourUsername\.ssh\config文件:

Host server-alias
HostName 服務器IP
User root
Port 22
IdentityFile C:\Users\YourUsername\.ssh\id_rsa_server
StrictHostKeyChecking no

參數說明:

  • ?Host:服務器別名(自定義)

  • ?HostName:服務器IP地址

  • ?User:登錄用戶名

  • ?Port:SSH端口(默認22)

  • ?IdentityFile:私鑰文件路徑

  • ?StrictHostKeyChecking no:跳過主機密鑰確認(可選)

2.2 使用別名登錄

ssh server-alias
方法三:在PowerShell中設置別名

編輯PowerShell配置文件$PROFILE

notepad $PROFILE

添加以下函數:

function Connect-CloudServer {
$env:Path += ";$env:SystemRoot\System32\OpenSSH"
ssh -i "C:\Users\YourUsername\.ssh\id_rsa_server" -o StrictHostKeyChecking=no root@服務器IP
}


# 設置別名
Set-Alias ccs Connect-CloudServer

使用時只需輸入:

ccs
常用管理命令 查看SSH服務狀態

systemctl status sshd
查看SSH配置

cat /etc/ssh/sshd_config
查看已授權的公鑰

cat ~/.ssh/authorized_keys
重啟SSH服務

systemctl restart sshd
查看SSH登錄日志

# 查看最近的SSH登錄記錄
journalctl -u sshd -n 50


# 實時監控SSH登錄日志
journalctl -u sshd -f
查看當前登錄用戶

who
查看SSH連接數

netstat -antp | grep sshd | wc -l
故障排除 問題1:無法使用證書登錄

可能原因:

  • ? 私鑰文件路徑錯誤

  • ? 私鑰文件權限不正確

  • ? 公鑰未正確添加到服務器

解決方法:

  1. 1. 檢查私鑰文件路徑:

Test-Path "C:\Users\YourUsername\.ssh\id_rsa_server"
  1. 2. 檢查私鑰文件權限(Linux):

chmod 600 ~/.ssh/id_rsa_server
  1. 3. 重新添加公鑰:

cat ~/.ssh/authorized_keys
問題2:密碼登錄仍然可用

可能原因:

  • ? SSH配置未正確修改

  • ? SSH服務未重啟

解決方法:

  1. 1. 檢查SSH配置:

grep PasswordAuthentication /etc/ssh/sshd_config
  1. 2. 確保配置為no

PasswordAuthentication no
  1. 3. 重啟SSH服務:

systemctl restart sshd
問題3:配置后無法登錄服務器

緊急恢復方法:

如果您在配置后無法登錄服務器,可以通過以下方式恢復:

方法一:使用云服務商控制臺

  1. 1. 登錄云服務商控制臺(阿里云、騰訊云等)

  2. 2. 找到服務器的"VNC連接"或"遠程連接"功能

  3. 3. 通過控制臺登錄服務器

  4. 4. 恢復SSH配置:

cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
systemctl restart sshd
方法二:使用救援模式
  1. 1. 通過云服務商進入救援模式

  2. 2. 掛載服務器磁盤

  3. 3. 修改SSH配置文件

  4. 4. 重啟服務器

問題4:SSH連接超時

可能原因:

  • ? 防火墻阻止SSH連接

  • ? SSH服務未運行

  • ? 網絡問題

解決方法:

  1. 1. 檢查SSH服務狀態:

systemctl status sshd
  1. 2. 檢查防火墻:

# CentOS/RHEL
firewall-cmd --list-all


# Ubuntu/Debian
ufw status
  1. 3. 檢查端口監聽:

netstat -tlnp | grep 22
問題5:私鑰文件損壞

解決方法:

  1. 1. 檢查私鑰文件格式:

Get-Content "C:\Users\YourUsername\.ssh\id_rsa_server" | Select-Object -First 3

預期輸出:

-----BEGIN OPENSSH PRIVATE KEY-----

-----BEGIN RSA PRIVATE KEY-----
  1. 2. 如果格式不正確,重新生成密鑰對

安全建議 1. 使用強密碼短語(Passphrase)

在生成密鑰時設置密碼短語,即使私鑰泄露,攻擊者也需要密碼才能使用。

2. 定期更換SSH密鑰

建議每6-12個月更換一次SSH密鑰。

3. 限制SSH訪問IP

/etc/hosts.allow/etc/hosts.deny中配置IP白名單。

4. 使用非標準端口

修改SSH端口,避免暴力破解:

vim /etc/ssh/sshd_config
# 修改 Port 22 為其他端口,如 Port 2222
systemctl restart sshd
5. 啟用fail2ban

安裝fail2ban防止暴力破解:

# CentOS/RHEL
yum install fail2ban


# Ubuntu/Debian
apt install fail2ban
6. 禁用root登錄(可選)

創建普通用戶,使用sudo提權:

# 創建普通用戶
adduser username
usermod -aG sudo username


# 修改SSH配置
vim /etc/ssh/sshd_config
# 修改 PermitRootLogin yes 為 PermitRootLogin no
systemctl restart sshd
附錄 A. SSH配置文件詳解

配置項

推薦值

PasswordAuthentication

是否允許密碼登錄

no

PubkeyAuthentication

是否允許公鑰認證

yes

PermitRootLogin

是否允許root登錄

prohibit-password

Port

SSH監聽端口

22(可修改)

PermitEmptyPasswords

是否允許空密碼

no

MaxAuthTries

最大認證嘗試次數

3


B. SSH密鑰類型對比

類型

密鑰長度

安全性

兼容性

推薦度

RSA

2048/4096

極好

?????

ECDSA

256/384/521

極高

????

Ed25519

256

極高

較好

?????


C. 常用SSH命令

# 端口轉發
ssh -L 本地端口:目標地址:目標端口 用戶@服務器

# 文件傳輸
scp -i 私鑰文件 本地文件 用戶@服務器:/遠程路徑

# 遠程命令執行
ssh 用戶@服務器 "命令"

# SSH隧道
ssh -D 本地端口 用戶@服務器
總結

通過本文檔的配置,您的服務器已經實現了:

? 僅允許SSH證書登錄
? 禁用密碼登錄
? 提高服務器安全性

?? 重要提醒:

  • ? 務必妥善保管私鑰文件

  • ? 定期備份SSH配置

  • ? 定期檢查SSH登錄日志

  • ? 如果需要恢復密碼登錄,使用備份文件

文檔版本:1.0
更新日期:2026-01-16
適用系統:CentOS 7+, Ubuntu 18+, Debian 9+
客戶端系統:Windows 10/11, macOS, Linux

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
江蘇20名省管領導干部擬任新職

江蘇20名省管領導干部擬任新職

金臺資訊
2026-06-16 21:24:49
太陽報:阿根廷隊無梅西勝率為75%,僅低1%

太陽報:阿根廷隊無梅西勝率為75%,僅低1%

懂球帝
2026-06-16 16:08:05
B費:C羅能帶領我們更接近世界杯冠軍,他從不滿足于已有的成就

B費:C羅能帶領我們更接近世界杯冠軍,他從不滿足于已有的成就

畫夕
2026-06-17 02:49:10
降價5萬,問界新車官宣,正式發布!

降價5萬,問界新車官宣,正式發布!

新浪財經
2026-06-16 16:32:51
鄭欽文:讓我們繼續戰斗,就像當初我一無所有時那樣

鄭欽文:讓我們繼續戰斗,就像當初我一無所有時那樣

懂球帝
2026-06-16 23:42:07
刺激!華為Mate80 Pro Max 突然直降1700元!

刺激!華為Mate80 Pro Max 突然直降1700元!

科技堡壘
2026-06-16 11:09:40
上海400米長的小馬路,至今不通公交,民國時四大家族卻爭相置業

上海400米長的小馬路,至今不通公交,民國時四大家族卻爭相置業

吃貨的分享
2026-06-16 18:35:38
制裁一出親戚集體劃界!看特奧多羅是怎么把舅舅、表兄全得罪光的

制裁一出親戚集體劃界!看特奧多羅是怎么把舅舅、表兄全得罪光的

小陸搞笑日常
2026-06-16 01:10:00
這樣穿旗袍的小姐姐,把腿長的優勢完美展現出來了

這樣穿旗袍的小姐姐,把腿長的優勢完美展現出來了

牛彈琴123456
2026-06-15 16:17:29
32歲男子羅布泊徒步失聯,一周后找到,他說的話所有人都不明白

32歲男子羅布泊徒步失聯,一周后找到,他說的話所有人都不明白

農村情感故事
2026-05-24 06:52:31
國足痛失優質歸化?26歲華裔射手世界杯雙響創歷史!身價250萬歐

國足痛失優質歸化?26歲華裔射手世界杯雙響創歷史!身價250萬歐

我愛英超
2026-06-16 11:29:56
佛得角門將未按時繳納數千美元簽證押金,其母親無緣美國觀戰

佛得角門將未按時繳納數千美元簽證押金,其母親無緣美國觀戰

懂球帝
2026-06-16 12:49:33
受不了,這么蠢的國產劇,竟然收視第一!

受不了,這么蠢的國產劇,竟然收視第一!

獨立魚
2026-06-15 21:08:03
國家一級女演員陳麗云被逮捕!

國家一級女演員陳麗云被逮捕!

許三歲
2026-03-28 09:24:30
中東那個惡霸終于死了,不是被打死的,是被特朗普的談判拖死的!

中東那個惡霸終于死了,不是被打死的,是被特朗普的談判拖死的!

賤議你讀史
2026-06-15 23:30:03
伊戈達拉首發2022庫里,裁掉2016,就因那記背后傳球

伊戈達拉首發2022庫里,裁掉2016,就因那記背后傳球

日常碎碎念啊
2026-06-16 01:18:20
四野戰將丁盛晚年落魄,老下屬:他一番話寒了眾人心

四野戰將丁盛晚年落魄,老下屬:他一番話寒了眾人心

嘮叨說歷史
2026-06-09 15:13:28
ML-CC上游三大緊缺物料:碳酸鋇、氧化鏑、納米鎳粉供應商梳理

ML-CC上游三大緊缺物料:碳酸鋇、氧化鏑、納米鎳粉供應商梳理

新浪財經
2026-06-09 19:54:42
你無意中發現了不得的事?網友:大保健里遇見嫂子

你無意中發現了不得的事?網友:大保健里遇見嫂子

夜深愛雜談
2026-05-28 07:59:33
尷尬極了!母親天天穿緊身褲,女兒吐槽:都快50歲了,穿給誰看呢

尷尬極了!母親天天穿緊身褲,女兒吐槽:都快50歲了,穿給誰看呢

川渝視覺
2026-05-05 20:33:39
2026-06-17 05:51:00
IT狂人日志 incentive-icons
IT狂人日志
IT,擅寫技術類短文或趣事
222文章數 2212關注度
往期回顧 全部

科技要聞

DeepSeek融資500億,梁文鋒牢牢握住控制權

頭條要聞

美被指拒絕以色列看美伊諒解備忘錄 以總理發聲

頭條要聞

美被指拒絕以色列看美伊諒解備忘錄 以總理發聲

體育要聞

身價5萬的門將,擋住了12億歐元的狂轟濫炸

娛樂要聞

吳文忻葬禮:2個女兒在靈堂內茫然失措

財經要聞

從123美元到62美元 白銀價格上演過山車

汽車要聞

三車齊發 零跑全新C10/C11/C16上市12.58萬元起

態度原創

藝術
教育
本地
公開課
軍事航空

藝術要聞

約旦最大的體育場開始建設,計劃2029年完工!

教育要聞

人工智能填志愿,關鍵學會這一招!

本地新聞

這屆年輕人為什么都在找心流時刻?

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

美伊達成諒解備忘錄 內塔尼亞胡表態

無障礙瀏覽 進入關懷版