Linux操作系统网络服务模块一SSH带外管理概述

前言:
       在复杂的网络运维环境中,​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 #监听地址,ipv4
 ListenAddress :: #监听地址,ipv6
 PermitRootLogin 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-keygen
 Generating 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]# ls
 id_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网络服务中扮演着故障隔离与安全管控的双重角色,其核心价值与实现要点包括:

  1. 独立通道保障可用性
    通过专用网络接口(如BMC/iDRAC)或串行控制台(Console)建立SSH连接,与业务网络解耦,确保主网络中断时仍能远程重启、修复或重装系统。
  2. 密钥认证强化安全
    禁用密码登录,强制使用非对称密钥对(RSA/ECDSA)认证,配合~/.ssh/authorized_keys的严格权限(700目录+600文件),阻断暴力破解风险。
  3. 自动化运维支撑
    结合脚本(如takeover.sh)实现远程系统重置或环境替换,通过SSH隧道执行高危操作(如根文件系统擦除),同时依赖物理应急方案(如带外控制台)作为操作失败的兜底策略。
  4. 配置优化实践
    • 服务端:修改sshd_config(禁用PasswordAuthentication、限制AllowUsers、启用PubkeyAuthentication);
    • 客户端:利用~/.ssh/config预设主机别名、端口及密钥路径,提升连接效率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值