前言:
? ? ? ?在復雜的網絡運維環境中,?SSH帶外管理(Out-of-Band Management)?? 是確保系統高可用性的核心技術手段。區別于依賴業務網絡的“帶內管理”,帶外管理通過獨立物理通道?(如專用管理網口或串行控制臺)建立SSH連接,即使主網絡故障或系統崩潰,管理員仍能安全接入設備執行緊急修復。Linux系統通過OpenSSH服務實現這一能力,結合密鑰認證、端口隔離與自動化腳本,為運維人員提供了不受業務流量干擾的“最后防線”?? ,尤其適用于數據中心、云平臺等對穩定性要求極高的場景。
目錄
SSH帶外管理
一、概述
二、 配置文件
三、命令解析
四、登錄方式配置
1、用戶名密碼登錄
2、公鑰驗證登錄
四、實戰
SSH帶外管理
一、概述
ssh服務,一種遠程管理連接工具,在CentOS7系統中默認安裝并開機自啟的。
SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄,遠程復制等功能。
監聽tcp的22號端口。軟件包名稱:openssh
配置文件目錄:/etc/ssh,sshd_config 服務端配置文件;ssh_config 客戶端配置文件。
客戶端提供:ssh、scp、sftp命令
服務端提供:sftp服務、ssh服務
二、 配置文件
服務端配置文件: sshd_config
?Port 22 #監聽端口AddressFamily any #ip地址版本ListenAddress 0.0.0.0 #監聽地址,ipv4ListenAddress :: #監聽地址,ipv6PermitRootLogin yes #是否允許root用戶登錄MaxAuthTries 6 #重新連接最大次數MaxSessions 10 #建立不同用戶的會話的最大個數PubkeyAuthentication yes #是否啟用公鑰對驗證登錄AuthorizedKeysFile ? ? .ssh/authorized_keys #存儲客戶端公鑰信息的文件PasswordAuthentication yes #是否啟用密碼驗證登錄PermitEmptyPasswords no #是否允許空密碼登錄UsePAM yes #啟用系統用戶及密碼進行驗證登錄UseDNS no #是否啟用ssh內部的解析,會影響連接速度
客戶端配置文件: ssh_config,設置ssh命令連接的關鍵配置
?Port 22 #設置ssh命令連接的默認端口
三、命令解析
?###遠程登錄命令######語法:####ssh [選項] [username@]ssh服務器的監聽IP地址或者主機名(使用主機名時,保證客戶端能夠解析主機名)####選項:######-p port 指定連接服務器的監聽端口###遠程拷貝命令#######語法:######將本機的文件拷貝到遠程主機##scp 本機的文件路徑 [username@]ssh服務器的監聽IP地址或者主機名:/遠程主機存儲路徑##將遠程主機的文件拷貝到本機##scp ? [username@]ssh服務器的監聽IP地址或者主機名:/遠程主機存儲路徑 本機的文件路徑###sftp服務登錄命令###sftp [選項] [username@]ssh服務器的監聽IP地址或者主機名(使用主機名時,保證客戶端能夠解析主機名)
四、登錄方式配置
1、用戶名密碼登錄
默認方式,直接可以使用
2、公鑰驗證登錄
(1)密碼學基礎:
概念 | 解析 |
---|---|
對稱加密 | 雙方采用相同的秘鑰,安全性較低 |
非對稱加密 | 雙方采用不同的秘鑰,安全性較高 |
公鑰 | 大家都可以知道的秘鑰。 |
私鑰 | 只有自己知道的秘鑰。能夠證明自己的身份信息 |
注意:公鑰和私鑰不能相互推導!!!
公鑰與私鑰之間能夠相互解密!!!
(2)數據加密:
使用對端的公鑰加密,接收端收到數據后,使用自己的私鑰解密。作用是保證數據完整性。
(3)數字簽名:
私用自己的私鑰加密,接收端收到數據后,使用發送端的公鑰解密。作用是保證發送者的身份唯一性。
(4)ssh工作原理
使用ssh命令
①用賬戶名和密碼進行登錄的方式,兩個主機都連接到VMnet5?
?
?
192.168.254.129主機進行對192.168.254.130主機的抓包?
?192.168.254.130主機ssh登錄192.168.254.129主機后,進行對192.168.254.130主機的抓包?
②不登陸目標主機,而是返回執行的命令結果
?使用scp命令
①在192.168.254.130寫一個shell腳本使用scp遠程拷貝到192.168.254.129的主機上直接執行腳本
?拷貝成功
?在192.168.254.130主機遠程執行腳本
在254.130主機修改后再拷貝到254.129主機并遠程執行腳本,這樣就做一個簡單的信息收集
②不僅可將腳本文件遠程拷貝到目標主機,也可以將腳本文件從目標主機拷貝回來
?使用sftp命令
①put 上傳文件(傳輸的是加密文件)
②get 下載rpm包
ssh客戶端生成密鑰對
?###生成密鑰對的命令###ssh-keygen ,默認是交互式###常用選項:####-t : 指定秘鑰算法-N : 指定秘鑰短語-f : 指定秘鑰存儲路徑[root@s1 .ssh]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: ###非交互生成密鑰對####[zhx1@s1 ~]$ ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa###默認保存到當前執行該命令的用戶家目錄中的.ssh目錄#####[root@s1 .ssh]# lsid_rsa id_rsa.pub###id_rsa: 私鑰;id_rsa.pub: 公鑰######拷貝公鑰命令###ssh-copy-id ###ssh命令的特殊用法:遠程執行ssh服務器的指令####[root@s1 .ssh]# ssh 192.168.115.128 ip a##注意:不能執行ssh-copy-id命令####
四、實戰
1.客戶端使用user1用戶,并且以服務端的用戶user2的身份登錄,使用公鑰對驗證登錄。
(1)客戶端創建user1用戶,服務端創建用戶user2,修改密碼為1
(2)現想要讓客戶端user1用戶以公鑰對形式的形式登錄到服務端并且登錄時采用user1身份登錄
①生成公私鑰對
?②將密鑰對拷貝給服務端user2用戶
?③user2用戶su - user2查看 .ssh/目錄生成了一個新文件查看文件內容查看到客戶端user1本地用戶的主機名
④ 此時就客戶端的user1賬戶可以直接免密登錄到服務器的user2賬戶,完成公鑰對驗證登錄(免密登錄)
總結:
? ? ? ?SSH帶外管理在Linux網絡服務中扮演著故障隔離與安全管控的雙重角色,其核心價值與實現要點包括:
- ?獨立通道保障可用性?
通過專用網絡接口(如BMC/iDRAC)或串行控制臺(Console)建立SSH連接,與業務網絡解耦,確保主網絡中斷時仍能遠程重啟、修復或重裝系統。 - ?密鑰認證強化安全?
禁用密碼登錄,強制使用非對稱密鑰對(RSA/ECDSA)認證,配合~/.ssh/authorized_keys
的嚴格權限(700目錄+600文件),阻斷暴力破解風險。 - ?自動化運維支撐?
結合腳本(如takeover.sh
)實現遠程系統重置或環境替換,通過SSH隧道執行高危操作(如根文件系統擦除),同時依賴物理應急方案(如帶外控制臺)作為操作失敗的兜底策略。 - ?配置優化實踐?
- 服務端:修改
sshd_config
(禁用PasswordAuthentication
、限制AllowUsers
、啟用PubkeyAuthentication
); - 客戶端:利用
~/.ssh/config
預設主機別名、端口及密鑰路徑,提升連接效率
- 服務端:修改