使用SSH服务管理远程主机(RHEL8)
内容概要:
配置网络服务
远程控制服务
不间断会话服务
检索日志信息
1、配置网络服务
1.1 配置网卡参数
在RHEL8中至少有五种配置网络的方法:
第①种配置网络的方法(vim编辑网卡配置文件):
使用vim编辑器来配置网卡参数,现在有一个名为ifcfg-ens160的网卡设备,将其配置为开机自启动,并且IP地址、子网掩码、网关等信息由人手工指定,其步骤如下:
使用vim编辑器打开/etc/sysconfig/network-scripts/目录下的ifcfg-ens160网卡配置文件;
vim /etc/sysconfig/network-scripts/ifcfg-ens160
设备类型:TYPE=Ethernet
地址分配模式:BOOTPROTO=static (其他选项 dhcp、none)
网卡名称:NAME=ens160
是否启动:ONBOOT=yes(none)
IP地址:IPADDR=192.168.10.10
子网掩码:NETMASK=255.255.255.0
网关地址:GATEWAY=192.168.10.1
DNS地址:DNS1=192.168.10.1
重新加载配置文件:
nmcli connection reload ens160
启动ens160网卡:
nmcli connection up ens160
使用ping命令测试网络是否连通:
ping -c 4 192.168.10.1
第②种配置网络的方法(nmtui命令):
192.168.10.10/24 其中24表示子网掩码中的前24位为网络号,后8位是主机号(与写成255.255.255.0效果是一样的)
第③种配置网络的方法(nm-connection-editor命令):
第④种配置网络的方法(右上角网络设置):
第⑤种配置网络的方法(nmcli connection modify ...):
nmcli connection modify ens160 ipv4.addresses 192.168.10.10/24 ipv4.gateway 192.168.10.1 ipv4.dns 192.168.10.1 ipv4.method manual
1.2 创建网络会话
RHEL和Centos默认使用NetworkManage来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态,可以使用nmcli命令来管理NetworkManage服务程序。nmcli是一款基于命令行的网络配置工具,它可以轻松查看网络信息或网络状态:
RHEL8系统支持网络会话功能,允许用户在多个配置文件中快速切换。使用nmcli命令并按照connection add con-name type ifname的格式来创建网络会话:
nmcli connection add con-name company ifname ens160 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
使用nmcli命令配置过的网络会话是永久生效的,随时可以启动想要的网络会话:
nmcli connection up company
后续不需要网络会话时,直接使用nmcli connection delete 命令就能删除
nmcli connection delete company
1.3 绑定两块网卡
创建出一个bond网卡,命令与参数的意思是创建一个类型为bond(绑定)、名称为bond0、网卡名称为bond0的绑定设备,绑定模式为balance-rr:
nmcli connection add type bond con-name bond0 ifname bond0 bond.options 'mode=balance-rr'
这里使用的是balance-rr网卡绑定模式,其中rr是round-robin的缩写,全称为轮询模式、round-robin的特点是会根据设备顺序依次传输数据包,提供负载均衡的效果,让宽带的性能更好一些,而且一旦某个网卡发生故障,会马上切换到另外一个网卡设备上,保证网络传输不被中断。active-backup是另外一种比较常用的网卡绑定模式,它的特点是平时只有一个网卡正常工作,另外一个网卡随时待命,一旦工作中的网卡发生损坏,待命的网卡会自动顶替上去。
向bond0设备添加从属网卡
刚才创建成功的bond0设备当前仅仅是个名称,里面并没有真正能为用户传输数据的网卡设备,接下来就使用下面命令把ens160和ens192网卡添加进来。其中con-name参数后面接的是从属网卡的名称(可以随时设置),ifname参数后面接的是两块网卡的名称:
nmcli connection add type ethernet slave-type bond con-name 'bond0-port1' ifname ens160 master bond0
配置bond0设备的网络信息
配置网络参数的方法有很多,这里用nmcli命令依次配置网络的IP地址以及子网掩码、网关、DNS、搜索域和手动配置等参数:
nmcli connection modify bond0 ipv4.addresses 192.168.10.10/24
nmcli connection modify bond0 ipv4.gateway 192.168.10.1
nmcli connection modify bond0 ipv4.dns 192.168.10.1
nmcli connection modify bond0 ipv4.dns-search baidu.com
nmcli connection modify bond0 ipv4.method manual
启动它
nmcli connection up bond0
2、远程控制服务
2.1 配置sshd服务
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。在此之前,一般使用FTP或Telnet来进行远程登录,但是它们以明文的形式在网络中传输账户密码和数据信息,因此很不安全。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,并且能够提供两种安全验证的方法:
基于密码的验证--用账户和密码来验证登录
基于密钥的验证--需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较,该方式相对来说更安全。
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中,配置文件中包含的重要参数如下表:
参数 |
作用 |
Port 22 |
默认的sshd服务端口号 |
ListenAddress 0.0.0.0 |
设定sshd服务监听的IP地址 |
Protocol 2 |
SSH协议的版本号 |
HostKey /etc/ssh/ssh_host_key |
SSH协议版本为1时,DES私钥的存放位置 |
HostKey /etc/ssh/ssh_host_rsa_key |
SSH协议版本为2时,RSA私钥的存放位置 |
HostKey /etc/ssh/ssh_host_dsa_key |
SSH协议版本为2时,DSA私钥的存放位置 |
PermitRootLogin yes |
设定是否允许root管理员直接登陆 |
StrictModes yes |
当远程用户的私钥改变时直接拒绝登录 |
MaxAuthTries 6 |
最大密码尝试次数 |
MaxSessions 10 |
最大终端数 |
PasswordAuthentication yes |
是否允许密码验证 |
PermitEmptyPasswords no |
是否允许空密码登录 |
在RHEL8中默认已经安装了sshd服务程序,使用ssh命令远程连接服务器,其格式为ssh [参数]主机IP地址,要退出登录则执行exit命令,第一次访问时需要输入yes来确认对方主机的指纹信息:
ssh 192.168.10.10
接下来要求输入密码:
温馨提示:一般的服务程序并不会在配置文件修改之后立即获得最新的参数,如果想让新配置文件生效,则需要手动重新启动相应的服务程序,最好将这个服务程序加入到开机启动项中。
2.2 安全密钥验证
在客户端主机中生成“密钥对”:
按回车键或设置密钥的存储路径
按回车键或设置密钥的密码
再次按回车键或设置密钥的密码
把客户端主机中生成的公钥文件上传至远程服务器:
对服务器进行设置,使其只允许密钥验证,拒绝传统的密码验证方式:
客户端尝试登录服务器
2.3 远程传输命令
虽然SSH协议可以远程控制服务器、传输信息,如果想要传输文件,可以使用scp命令,scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数]本地文件 远程账户@远程IP地址:远程目录”,scp命令中可用的参数及作用如下表:
参数 |
作用 |
-v |
显示详细的连接进度 |
-P |
指定远程主机的sshd端口号 |
-r |
用于传送文件夹(递归操作) |
-6 |
使用IPV6协议 |
远程上传
远程下载
3、 不间断会话服务
使用sshd服务时,当与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断,Terminal Multiplexer(终端复用器,简称Tmux)是一款能够实现多窗口远程控制的开源服务程序。简单说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序,Tmux实现实了如下功能:
会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。
多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看见之前的操作记录。
会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。
安装Tmux服务程序
yum install -y tmux
3.1 管理远程会话
输入tmux命令进入会话窗口中
底部出现一个绿色状态栏,里面分别显示的是会话编号、名称及主机信名和系统时间,退出会话窗口的命令是exit。
会话窗口的编号是从0开始自动排序的,也可以指定名称,比如创建名称为backup的会话窗口:
tmux new -s backup
如果我们要忙别的事情,但会话窗口中执行的进程不能被中断,此时可以使用detach参数将会话隐藏到后台:
如果每次输入detach麻烦,可以直接关闭本地终端窗口,Tmux服务程序会自动进行保存。
这样操作以后,服务和进程都会一直在后台默默运行,不会因为窗口被关闭而造成数据丢失,如果想查看一下后台有哪些会话:
回归到backup会话的方法是tmux命令后面加attach和会话编号或会话名称就可以:
tmux attach -t backup
在日常的生产环境其实并不是必须要先创建会话窗口,然后再开始工作。可以直接tmux命令执行要运行的指令,这样命令中操作地一切都会被记录下来,当命令执行结束后,后台会话也会自动结束:
tmux new "vim demo.yaml”
3.2 管理多窗格
先创建一个会话,使用“tmux split-window”命令可以创建上下切割的多窗格终端界面
使用“tmux split-window -h”可以创建左右切割的多窗格终端界面
Ctrl+B+方向键可以调整窗格的尺寸,Tmux不间断会话多窗格的切换命令:
命令 |
作用 |
tmux select-pane -U |
切换至上方的窗格 |
tmux select-pane -D |
切换至下方的窗格 |
tmux select-pane -L |
切换至左边的窗格 |
tmux select-pane -R |
切换至右边的窗格 |
Tmux不间断会话多窗格的互换命令
命令 |
作用 |
tmux swap-pane -U |
将当前窗格与上方的窗格互换 |
tmux swap-pane -D |
将当前窗格与下方的窗格互换 |
tmux swap-pane -L |
将当前窗格与左边的窗格互换 |
tmux swap-pane -R |
将当前窗格与右边的窗格互换 |
在工作中通过命令切换窗格难免有些麻烦,实际上Tmux服务程序为用户提供了一系列快捷键来执行窗格的切换。方法是先按下Ctrl+B组合键,然后松手后再迅速按下其后续按键,而不是一起按下。
快捷键 |
作用 |
% |
划分为左右两个窗格 |
“ |
划分为上下两个窗格 |
<方向键> |
切换到上下左右相邻的一个窗格 |
; |
切换至上一个窗格 |
o |
切换至下一个窗格 |
{ |
将当前窗格与上一个窗格位置互换 |
} |
将当前窗格与下一个窗格互换 |
x |
关闭窗格 |
! |
将当前窗格拆分成独立窗口,而不在与其他窗格通处一个界面 |
q |
显示窗格编号 |
3.3 会话共享功能
使用ssh服务将客户端A远程连接到服务器,随后使用tmux服务创建一个新的会话窗口,名称为share:
ssh 192.168.10.10
tmux new -s share
使用ssh服务将客户端B远程连接到服务器,并执行获取远程会话的命令:
ssh 192.168.10.10
tmux attach-session -t share
操作完成后,两台客户机的所有终端信息都会被实时同步,它们可以一起共享同一个会话窗口。
4、检索日志信息
在Linux系统中常见日志保存路径如下表:
文件路径 |
作用 |
/var/log/boot.log |
系统开机自检事件及引导过程等信息 |
/var/log/lastlog |
用户登录成功时间、终端名称及IP地址等信息 |
/var/log/btmp |
记录登陆失败的时间、终端名称及IP地址等信息 |
/var/log/messages |
系统及各个服务的运行和报错信息 |
/var/log/secure |
系统安全相关信息 |
/var/log/wtmp |
系统启动与关机等相关信息 |
journalctl命令用于检索和管理系统日志信息,英文全称为“journal control”,journalctl命令的常用参数如下表:
参数 |
作用 |
-k |
内核日志 |
-b |
启动日志 |
-u(--unit) |
指定服务 |
-n |
指定条数 |
-p(--priority) |
指定类型 |
-f(--follow) |
实时刷新(追踪日志) |
-g(-grep) |
筛选 |
--since |
指定时间 |
--disk-usage |
占用空间 |
查询系统中最后五条日志信息:
查询系统中指定服务的日志信息:
查询系统中指定类型的日志信息:
日志信息等级分类如下表:
日志等级 |
说明 |
emerg |
系统出现严重故障,如内核崩溃 |
alert |
应立即修复的故障,如数据库损坏 |
crit |
危险性较高的故障,如硬盘损坏导致程序运行失败 |
err |
危险性一般的故障,如某个服务启动或运行失败 |
warning |
警告信息,如某个服务功能或参数出错 |
notice |
不严重的一般故障,只是需要抽时间处理的情况 |
info |
通用性消息,用于提示一些有用的信息 |
debug |
调试程序所产生的的信息 |
none |
没有优先级,不进行日志记录 |
查询今日的日志信息:
查询最近一小时的日志信息:
仅查询12点整到15点整的日志信息:
仅查询从2023年1月1日到2023年3月1日的日志信息:
journalctl帮助信息如下:
使用SSH服务管理远程主机(RHEL8)相关推荐
- 使用SSH服务管理远程主机
使用SSH服务管理远程主机 配置网络参数 这里使用的是nmtui命令来配置网络 执行nmtui命令运行网络配置工具 选中Edit a connection并按下回车键 在RHEL7中网卡的名称变成了类 ...
- Linux系列教程(13)- 使用 ssh 服务管理远程主机
使用 ssh 服务管理远程主机 配置 sshd 服务 SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式.在此之前,一般使用 FT ...
- 20201025firewall-config以及ssh服务管理远程主机以及双网卡实现网络均衡负载
>>>>firewall-config 这个默认在redhat8中没有安装,我们需要去注册系统然后使用yum安装 dnf 是yum的升级版好处是, 1 这个对软件的依赖关系进行 ...
- 第9章 使用ssh服务管理远程主机。
章节简述: 学习使用nmtui命令配置网卡参数.手工将多块网卡做绑定.使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态. 完整演示sshd服务配置方法并详细讲述每个参数的作用,实战基于密 ...
- Ten 使用ssh服务管理远程主机
配置网络服务 配置网卡的4种方法: 修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-enoXXXXXXXX,配置完重启网卡服务: nmtui(旧版UI界面) ...
- [linux学习](linuxprobe课程)九 使用ssh服务管理远程主机
配置网卡(2) nmcli(尼玛克烈) 真的好用,可以配置多套网卡信息(即网络会话),根据实际情况切换,适合自己的电脑,对服务器貌似没啥大用,原理是增加了几个配置文件在/etc/sysconfig/n ...
- Linux就该这么学(使用 ssh 服务管理远程主机)第9章
远程控制服务(第206页) sshd 服务配置文件中包含的参数以及作用 参数 作用 Port 22 默认的 sshd 服务端口 ListenAddress 0.0.0.0 设定 sshd 服务器监听的 ...
- Linux基础(使用ssh服务管理远程主机1)
配置网络参数 使用nmtui命令配置网络参数,以及通过nmcli命令查看网络信息并管理网络会话服务. 执行nmtui命令运行网络配置工具 进入主界面 选中编辑连接并按下回车键 选中要编辑的网卡名称,然 ...
- windows上SSH服务连接远程主机失败
putty连接出现错误提示"Network error:connection refused",xshell连接出现错误提示"connection failed:(por ...
最新文章
- python绘图—— matplotlib
- fir滤波器应用matlab,fir滤波器应用.ppt
- (转)c#中const与readonly区别
- 数据库 sqlite 进阶
- P3388-[模板]割点(割顶)【tarjan】
- 在VMware中装Win server 2012配置Hyper-v
- Url解码,兼容utf-8和gb2312
- 小区防盗系统 c语言,住宅小区防盗报警系统方案以及系统组成
- Linux下iwconfig权限,Linux中用iwconfig配置wireless-tools
- 用的上的商学课1-50课学习笔记
- 视频数据丢失怎么办 怎样找回丢失的视频数据
- snp maf_Oracle MAF中的LOV
- diskpart(diskpart转换GPT)
- 程序员如何轻松实现数据可视化?
- 3. oracle学习入门系列之三Unix、Linux历史及基础
- 计算机组成原理实验二
- 丽水松阳计算机职业高中学校,浙江省松阳职专
- 小航助学答题系统编程等级考试scratch二级真题2023年3月(含题库答题软件账号)
- 新学期,新FLAG——新征程
- 2018新年管理感言
热门文章
- BZOJ5011 [Jx2017]颜色(洛谷P4065)
- Python cv2读取/存储图片中含中文路径失败的解决方法
- 基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件
- hioki电阻测试仪3540软件,微电阻计/电阻测试仪/HIOKI 3540/HIOKI 3560/日置3540/日置3560...
- Flask 数据生成/数据迁移/数据事件
- 实验整理(一)——钓鱼邮件攻击实验
- ios 编译ffmpeg 支持 x264 fdk-aac openssl 并裁剪库大小
- Python基础学习第七天
- [C语言错误]expected declaration or statement at end of input)
- 【SpringBoot项目实战】之Chrome谷歌浏览器全屏