Linux SSH服務全面配置指南:從基礎到安全加固

Linux SSH服務全面配置指南:從基礎到安全加固

概述

作為網絡安全工程師,SSH(Secure Shell)服務的安全配置是我們日常工作中不可忽視的重要環節。本文將從基礎配置到高級安全加固,全面解析SSH服務的各項參數,幫助您構建更加安全的遠程管理環境。

基礎配置詳解

端口與監聽設置

SSH默認監聽22端口,這是最容易被攻擊者掃描的目標之一。建議修改為1024以上的非標準端口:

Port 2222  # 修改默認SSH端口

同時,限制SSH僅監聽必要的網絡接口:

ListenAddress 192.168.1.100  # 僅監聽內網接口

主機密鑰配置

現代SSH服務支持多種密鑰算法,推薦優先使用更安全的Ed25519:

HostKey /etc/ssh/ssh_host_ed25519_key  # 最佳選擇
HostKey /etc/ssh/ssh_host_rsa_key      # 兼容性選擇

安全提示:應禁用已過時的DSA算法,在配置文件中注釋掉相關行。

認證機制強化

禁用密碼認證

密碼認證容易受到暴力破解攻擊,強烈建議禁用:

PasswordAuthentication no  # 禁用密碼認證
PubkeyAuthentication yes   # 啟用密鑰認證

禁止root直接登錄

防止攻擊者直接針對root賬戶進行攻擊:

PermitRootLogin no  # 禁止root直接登錄

實現雙因素認證(2FA)

結合Google Authenticator增加額外安全層:

# 安裝所需軟件
sudo apt install libpam-google-authenticator# 配置SSH使用雙因素認證
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

訪問控制策略

用戶/IP白名單

限制允許訪問SSH的用戶和IP范圍:

# 允許user1在任何位置訪問,user2僅限內網訪問
AllowUsers user1 user2@192.168.*.*

防火墻規則配置

使用ufw限制SSH訪問來源:

# 僅允許內網訪問SSH端口
sudo ufw allow from 192.168.1.0/24 to any port 2222

登錄頻率限制

安裝Fail2ban防御暴力破解:

# 安裝Fail2ban
sudo apt install fail2ban# 配置示例(/etc/fail2ban/jail.local)
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 30
bantime = 3600

密鑰管理最佳實踐

密鑰生成規范

使用高強度算法生成密鑰對:

# 使用ed25519算法(推薦)
ssh-keygen -t ed25519 -a 100# 使用RSA算法(兼容性更好)
ssh-keygen -t rsa -b 4096

文件權限控制

確保SSH相關文件有正確的權限設置:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

高級安全配置

加密算法配置

限制使用強加密算法,禁用弱算法:

# 加密算法配置
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com

會話超時設置

減少空閑會話保持時間,降低被劫持風險:

# 客戶端保持活動狀態檢查
ClientAliveInterval 300
ClientAliveCountMax 2# 登錄超時時間
LoginGraceTime 1m

運維管理建議

  1. 定期更新:保持OpenSSH服務更新到最新版本
  2. 日志監控:配置集中式日志收集,監控異常登錄嘗試
  3. 密鑰輪換:定期更換服務器和用戶密鑰(建議每6-12個月)
  4. 審計配置:定期檢查sshd_config文件變更
  5. 備份策略:備份服務器密鑰和授權密鑰文件

總結

通過本文介紹的多層次安全配置,您可以將SSH服務的安全性提升到專業級別。記住,安全是一個持續的過程,而非一次性配置。建議每季度復查一次SSH配置,并根據最新的安全威脅調整防御策略。

最后建議:在生產環境實施任何重大變更前,請先在測試環境驗證,并確保保留至少一個活動會話作為備用連接方式,避免因配置錯誤導致無法遠程訪問服務器。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86865.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86865.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86865.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET測試工具Parasoft dotTEST內置安全標準,編碼合規更高效

在追求開發速度的時代,確保代碼安全并滿足嚴苛的行業合規標準如OWASP、CWE、PCI DSS、ISO 26262等已成為開發者的核心挑戰,但開發人員常因復雜的編碼標準和漏洞排查而效率低下。.NET測試工具Parasoft dotTEST內置安全標準,實現即插即用&#…

對象的finalization機制Test

Java語言提供了對象終止(finalization)機制來允許開發人員自定義對象被銷毀之前的處理邏輯。當垃圾回收器發現沒有引用指向一個對象時,通常接下來要做的就是垃圾回收,即清除該對象,而finalization機制使得在清除此對象之前,總會先…

AI初學者如何對大模型進行微調?——零基礎保姆級實戰指南

僅需8GB顯存,三步完成個人專屬大模型訓練 四步實戰:從環境配置到模型發布 步驟1:云端環境搭建(10分鐘) 推薦使用阿里魔塔ModelScope免費GPU資源: # 注冊后執行環境初始化 pip3 install --upgrade pip pi…

“單一職責”模式之裝飾器模式

目錄 “單一職責”模式裝飾器模式 Decorator引例動機 Motivation模式定義結構 Structure要點總結 “單一職責”模式 在軟件組件的設計中,如果責任劃分的不清晰,使用繼承得到的結果往往是隨著需求的變化,子類急劇膨脹,同時充斥著重…

idea, CreateProcess error=206, 文件名或擴展名太長

idea, CreateProcess error206, 文件名或擴展名太長 解決 “CreateProcess error206, 文件名或擴展名太長” 錯誤 CreateProcess error206 是 Windows 系統特有的錯誤,表示命令行參數超出了 Windows 的 32767 字符限制。這個問題在 Java 開發中尤其常見&#xff0c…

一鍵高效率圖片MD5修改工具PHP版

文章目錄 圖片MD5修改工具項目簡介功能特點技術原理系統需求安裝方法使用方法Web界面模式命令行模式文件結構常見問題注意事項開發者信息效果演示更多干貨??1.如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “??點贊” “??評論” “??收藏” 一鍵三連哦!2.??…

跨主機用 Docker Compose 部署 PostgreSQL + PostGIS 主從

q下面是跨主機用 Docker Compose 部署 PostgreSQL PostGIS 主從復制的完整詳細步驟(主庫 從庫),主從都用官方 PostGIS 鏡像 postgis/postgis:15-3.3,并注意網絡與持久化。復制即可。 🚩 跨主機 PostgreSQL PostGIS …

會議動態|千眼狼高速攝像機、DIC測量系統等科學儀器亮相第十五屆全國爆炸力學學術會議

第十五屆全國爆炸力學學術會議于6月28日在紹興盛大召開,會議匯聚來自全國爆炸力學與沖擊領域專家學者2000余人,聚焦“爆炸與沖擊動力學工程應用”、“材料動態力學行為與損傷斷裂“、“工程爆破與毀傷評估”、“含能材料與水中爆炸”、“結構動態響應與安…

vscode一個文件夾有殘余的git倉庫文件,已經失效了,怎樣進行清空倉庫殘余文件并重新初始化git--ubuntu

vscode一個文件夾有殘余的git倉庫文件,已經失效了,怎樣進行清空倉庫殘余文件并重新初始化git–ubuntu 首先要把工作區里重要的文件備份好,防止操作時數據丟失。刪除.git文件夾 rm -rf .git初始化 (base) zd4090zd4090-System-Product-Name:…

6月30日作業

思維導圖 一、讀取文件&#xff0c;效果類似 cat 的功能 代碼 #include <25041head.h>int main(int argc, const char *argv[]) {//打開文件printf("請輸入你要讀取的文件路徑&#xff1a;");char str[128]"";scanf("%s",str);FILE *fpf…

ubuntu源碼安裝python3.13遇到Could not build the ssl module!解決方法

我在Ubuntu 24.04.2 LTS下載源碼安裝Python 3.13.5時&#xff1a; #./configure --enable-loadable-sqlite-extensions --enable-optimizations #make 顯示錯誤信息&#xff1a; Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer 查詢我的openssl版…

Ai工具分享(2):Vscode+Cline無限免費的使用教程

大家好,我是程序員寒山。 今天給大家分享一個最新的免費使用的Ai插件Cline的方法,之前也給大家分享過一些免費的方案,但是這些都是隨時在變化,之前推薦的很多都不能使用了。 Ai工具分享(2):Vscode+Cline無限免費的使用教 今天再給大家推薦一個,可以免費使用,且沒有token…

Docker 目錄遷移腳本【Windows Junction 類型鏈接】

Docker 目錄遷移腳本完整教程&#xff1a;從誕生到自動化使用 一、腳本誕生背景與開發歷程 1. 為什么需要遷移 Docker 目錄&#xff1f; 系統盤空間壓力&#xff1a;Docker 鏡像和容器數據通常存儲在C:\Users\用戶名目錄下&#xff0c;隨著使用時間增長會占用大量系統盤空間…

spring-ai 工作流

目錄 工作流概念工作流程圖spring-boot 編碼定義節點 (Node)定義節點圖StateGraphcontroller測試瀏覽器測試用戶輸入 工作流概念 工作流是以相對固化的模式來人為地拆解任務&#xff0c;將一個大任務拆解為包含多個分支的固化流程。工作流的優勢是確定性強&#xff0c;模型作為…

重頭開始學ROS(6)---Eigen庫安裝與使用

Eigen庫 矩陣運算是一種非常重要的運算方式&#xff0c;在Matlab中&#xff0c;矩陣運算可以輕松的實現&#xff0c;但在C這種偏底層的語言中&#xff0c;若不借助第三方庫&#xff0c;矩陣運算需要我們進行較為復雜的代碼設計。Eigen庫是一個用于線性運算的C模板庫&#xff0…

【STM32】外部中斷

STM32 外部中斷&#xff08;EXTI&#xff09;概述 這篇文章結合示例代碼&#xff0c;系統性地講述 STM32 外部中斷&#xff08;EXTI&#xff09;實驗的原理、以及配置流程。目的在于輔助讀者掌握STM32F1 外部中斷機制。 STM32F1xx官方資料&#xff1a;《STM32中文參考手冊V10》…

LeetCode Hot100 算法題 (矩陣篇)

1、73. 矩陣置零 給定一個 m x n 的矩陣&#xff0c;如果一個元素為 0 &#xff0c;則將其所在行和列的所有元素都設為 0 。請使用 原地 算法。 示例 1&#xff1a; 輸入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 輸出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]// 將第一行…

Flutter基礎(項目創建)

一、使用命令行創建項目 1. 確認 Flutter 環境正常 要保證 Flutter SDK 已經正確安裝&#xff0c;并且環境變量配置無誤。可以通過執行以下命令來驗證&#xff1a; flutter doctor 要保證所有檢查項都顯示綠色對勾&#xff0c;要是有問題&#xff0c;可按照提示進行修復。 …

【Actix Web】Rust Web開發實戰:Actix Web框架全面指南(2025企業級應用版)

? 在2025年高并發、低延遲成為Web服務核心指標的背景下&#xff0c;??Actix Web憑借異步Actor模型與零成本抽象??&#xff0c;成為Rust生態中生產環境部署率最高的Web框架。本指南深入解析Actix Web 4.0核心技術&#xff0c;覆蓋??百萬級并發架構設計??、??內存安全…

HTML之常用基礎標簽

HTML之常用基礎標簽 一、HTML文檔基本結構標簽1. <html>標簽2. <head>標簽3. <body>標簽 二、文本相關基礎標簽1. 標題標簽&#xff08;<h1> - <h6>&#xff09;2. 段落標簽&#xff08;<p>&#xff09;3. 換行標簽&#xff08;<br>…