您现在的位置是:首页 >学无止境 >第七章 使用ssh服务管理远程主机网站首页学无止境

第七章 使用ssh服务管理远程主机

liebe1*1 2024-06-14 12:01:02
简介第七章 使用ssh服务管理远程主机

文章目录

第七章 使用ssh服务管理远程主机

一、配置网卡服务

1、配置网卡参数
(1)、执行nmtui命令运行网络配置工具
[root@centos ~]# nmtui
(2)、选择编辑连接并按回车

在这里插入图片描述

(3)、选择以太网中网卡名称并编辑

在这里插入图片描述

(4)、将IPv4的配置方式改成手动模式

在这里插入图片描述

(5)、按下显示按钮显示详细信息

在这里插入图片描述

(6)、填写IP地址、子网掩码和网关并按下确定

在这里插入图片描述

(7)、点击返回按钮

在这里插入图片描述

(8)、点击退出按钮

在这里插入图片描述

(9)、重启网卡
[root@centos ~]# nmcli connection reload ens160
[root@centos ~]# nmcli connection up ens160 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4
2、创建网络会话
(1)、创建指定公司使用的网络会话
[root@centos ~]# nmcli connection add con-name company ifname ens160 autoconnect no type ethernet ip4 192.168.2.20/24 gw4 192.168.2.1
连接 "company" (e8d5aa3a-6b79-431e-b6de-129901166e9d) 已成功添加。
(2)、创建指定家庭使用的网络会话
[root@centos ~]# nmcli connection add con-name house type ethernet ifname ens160 
连接 "house" (a6271d4d-4cc4-4cb4-8bc4-eea6a918ca42) 已成功添加。
(3)、查看网络会话
[root@centos ~]# nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
ens160  3d3dbf95-38c6-4045-92cb-0e2c12c52346  ethernet  ens160 
virbr0  e56d42a5-ca28-48ed-b5a5-9fa225e4fb3c  bridge    virbr0 
company  e8d5aa3a-6b79-431e-b6de-129901166e9d  ethernet  --     
house   a6271d4d-4cc4-4cb4-8bc4-eea6a918ca42  ethernet  --    
(4)、激活company网络会话
[root@centos ~]# nmcli connection up company 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5
(5)、激活house网络会话
[root@centos ~]# nmcli connection up house 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7
(6)、删除网络会话
//删除company网络会话
[root@centos ~]# nmcli connection delete company 
成功删除连接 "company" (e8d5aa3a-6b79-431e-b6de-129901166e9d)//删除house网络会话
[root@centos ~]# nmcli connection delete house 
成功删除连接 "house" (a6271d4d-4cc4-4cb4-8bc4-eea6a918ca42)
3、绑定两块网卡
(1)、创建出一个bond网卡
[root@centos ~]# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=balance-rr"
连接 "bond0" (0fe88e8a-fdd2-4ecb-9b00-e90e5e321b2f) 已成功添加。
(2)、向bond0添加从属网卡
[root@centos ~]# nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname ens160 master bond0 
连接 "bond0-port1" (e86c8dbb-21ec-487f-964f-87a13699c092) 已成功添加。
[root@centos ~]# nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname ens192 master bond0 
连接 "bond0-port2" (50195351-cf26-441d-ac66-a922d00d9183) 已成功添加。
(3)、配置bond0设备的网卡信息
//IP地址与子网掩码
[root@centos ~]# nmcli connection modify bond0 ipv4.addresses 192.168.2.20/24
//网关地址
[root@centos ~]# nmcli connection modify bond0 ipv4.gateway 192.168.2.1
//DNS
[root@centos ~]# nmcli connection modify bond0 ipv4.dns 192.168.2.1
//手动配置
[root@centos ~]# nmcli connection modify bond0 ipv4.method manual 
(4)、启动设备并查看状态
//启动设备
[root@centos ~]# nmcli connection up bond0
连接已成功激活(master waiting for slaves)(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6//查看状态
[root@centos ~]# nmcli device status 
DEVICE      TYPE      STATE         CONNECTION  
ens160      ethernet  已连接        ens160      
bond0       bond      已连接        bond0       
virbr0      bridge    连接(外部)  virbr0      
ens192      ethernet  已连接        bond0-port2 
lo          loopback  未托管        --          
virbr0-nic  tun       未托管        --  

二、远程控制服务

1、配置sshd服务
(1)、SSH介绍

SSH(Secure Shell)是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理Linux系统的首先方式。在此之前一般使用FTP或Telnet来进行远程登陆。但是因为它们以明文的形式在网络传输账户密码和数据信息,因此很不安全,容易受到黑客发起的中间人攻击。

(2)、安全验证方法

第一种:基于口令的验证:用账户和密码来验证登录。
第二种:基于密钥的验证:需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较。

(3)、sshd服务配置文件中包含的参数以及作用
参数作用
Port 22默认的sshd服务端口
ListenAddress 0.0.0.0设定sshd服务器监听的IP地址
Protocol 2SSH协议的版本号
HostKey /etc/ssh/ssh_host_keySSH协议版本号为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_keySSH协议版本号为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_keySSH协议版本号为2时,DSA私钥存放的位置
PermitRootLogin yes设定是否允许root管理员直接登录
StrictModes yes当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6最大密码尝试次数
MaxSessions 10最大终端数
PasswordAuthentication yes是否允许密码验证
PermitEmptyPasswords no是否允许空密码登录
2、安全密钥验证
(1)、客户端生成密钥对
┌──(kali㉿kali)-[~]
└─$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kali/.ssh/id_rsa): //按回车键或设置密钥的存储路径
Created directory '/home/kali/.ssh'.
Enter passphrase (empty for no passphrase): //按回车键或设置密钥的密码
Enter same passphrase again: //再次按回车键或设置密钥的密码
Your identification has been saved in /home/kali/.ssh/id_rsa
Your public key has been saved in /home/kali/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:ulKB+iTXu2HYj6hLkFGBLvEwKSNNknumiRNfzMkF5g8 kali@kali
The key's randomart image is:
+---[RSA 3072]----+
|.*+.o.           |
|@o.o  .          |
|=B +E+           |
|+++ Bo.          |
|=B o ...S        |
|=.+ ooo.         |
| ..=..=.         |
| .  oo.=         |
|  oo..+..        |
+----[SHA256]-----+
(2)、把客户机生成的公钥文件传送至服务器
┌──(kali㉿kali)-[~]
└─$ ssh-copy-id root@192.168.2.20
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/kali/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
//管理员密码
root@192.168.2.20's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.2.20'"
and check to make sure that only the key(s) you wanted were added.
(3)、对服务器设置只允许密钥验证,拒绝传统口令验证,并重启服务
//编辑文件
[root@centos ~]# vim /etc/ssh/sshd_config 
 68 #PasswordAuthentication yes
 69 #PermitEmptyPasswords no
 70 PasswordAuthentication yes
//重启服务
[root@centos ~]# systemctl restart sshd
(4)、客户端登录
┌──(kali㉿kali)-[~]
└─$ ssh root@192.168.2.20
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Wed May  3 17:11:32 2023 from 192.168.2.44
[root@centos ~]# 
3、远程传输命令
(1)、scp命令

scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令。

//上传文件
命令格式:scp [参数] 本地文件 远程账户@远程IP地址:远程目录
//下载文件
命令格式:scp [参数] 远程账号@远程IP地址:远程文件 本地目录
(2)、scp命令可用的参数及作用
参数作用
-v显示详细的连接进度
-P指定远程主机的sshd端口号
-r用于传送文件夹
-6使用IPv6协议
(3)、上传文件
//创建一个文本
┌──(kali㉿kali)-[~]
└─$ echo "Welcome to www.baidu.com" > redme.txt
//上传文件
┌──(kali㉿kali)-[~]
└─$ scp /home/kali/redme.txt root@192.168.2.20:/root
redme.txt             100%   25    22.0KB/s   00:00  
(4)、下载文件
//下载文件
┌──(kali㉿kali)-[~]
└─$ scp root@192.168.2.20:/etc/redhat-release /home/kali 
redhat-release        100%   30    11.1KB/s   00:00   
//查看文件
┌──(kali㉿kali)-[~]
└─$ cat redhat-release 
CentOS Linux release 8.5.2111

三、检索日志

1、常见的日志文件保存路径
文件路径及命令作用
/var/log/boot.log系统开机自检事件及引导过程等信息
/var/log/lastlog用户登陆成功时间、终端名称及IP地址等信息
/var/log/btmp记录登陆失败的时间、终端名称及IP地址等信息
/var/log/messages系统及各个服务的运行和报错信息
/var/log/secure系统安全相关的信息
/var/log/wtmp系统启动与开机等相关信息
2、journalctl命令

journalctl命令用于检索和管理系统日志信息,英文全称为:“journal control”。

语法格式:journalctl [参数]
3、journalctl命令中常用按键及作用
参数作用
-k内核日志
-b启动日志
-u指定服务
-n指定条数
-p指定类型
-f实时刷新
–since指定时间
–disk-usage占用空间
5、查看你系统最后5条日志信息
[root@centos ~]# journalctl -n 5
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
503 17:45:27 centos systemd[1]: Starting Network Manager Script >
503 17:45:27 centos dbus-daemon[981]: [system] Successfully acti>
503 17:45:27 centos systemd[1]: Started Network Manager Script D>
503 17:45:37 centos systemd[1]: NetworkManager-dispatcher.servic>
503 17:51:05 centos cupsd[1158]: REQUEST localhost - - "POST / H>
6、实时刷新日志内容
[root@centos ~]# journalctl -f
-- Logs begin at Wed 2023-05-03 16:48:16 CST. --
503 17:41:03 centos systemd[1]: session-12.scope: Succeeded.
503 17:41:03 centos systemd-logind[1105]: Session 12 logged out. Waiting for processes to exit.
503 17:41:03 centos systemd-logind[1105]: Removed session 12.
503 17:45:27 centos NetworkManager[1145]: <info>  [1683107127.7531] dhcp6 (ens160): state changed bound -> bound, address=240e:3a1:3a82:21e1:20c:29ff:fe21:f72d
7、日志分类等级
日志等级说明介绍
emerg系统出现严重故障,内核崩溃等情况
alert应立即修复的故障,数据库损坏等情况
crit危险较高的故障,硬盘损坏导致程序运行失败的情况
err一般危险的故障,某个服务启动或运行时阿比的情况
warning警告信息,某个服务参数或功能错误的情况
notice一般无危险的故障,只是需要处理的情况
info通用性消息,给用户提示一些有用信息
debug调试程序所产生的信息
none没有优先级,不做日志记录
8、查看危险较高的故障
[root@centos ~]# journalctl -p crit 
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
-- No entries --
9、仅查询今日的日志信息
[root@centos ~]# journalctl --since today
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
503 16:48:16 centos kernel: Linux version 4.18.0-348.7.1.el8_5.x>
503 16:48:16 centos kernel: Command line: BOOT_IMAGE=(hd0,msdos1>
503 16:48:16 centos kernel: Disabled fast string operations
503 16:48:16 centos kernel: x86/fpu: Supporting XSAVE feature 0x>
503 16:48:16 centos kernel: BIOS-provided physical RAM map:
10、查看最近一小时的日志信息
[root@centos ~]# 
[root@centos ~]# journalctl --since "-1 hour"
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
503 17:01:25 centos dbus-daemon[2383]: [session uid=0 pid=2383] >
503 17:10:54 centos rz[3496]: [root] no.name/ZMODEM: got error
11、查询上午8点整到10点整的日志信息
[root@centos ~]# journalctl --since "8:00" --until "12:00"
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
12、查询指定服务的日志信息
语法格式:journalctl _SYSTEMD_UNIT=服务名称.service
[root@centos ~]# journalctl _SYSTEMD_UNIT=sshd.service 
-- Logs begin at Wed 2023-05-03 16:48:16 CST, end at Wed 2023-05-03>
503 16:48:24 centos sshd[1163]: Server listening on 0.0.0.0 port>
503 16:48:24 centos sshd[1163]: Server listening on :: port 22.
503 17:05:55 centos sshd[3347]: Connection reset by 192.168.2.44>
503 17:06:06 centos sshd[3349]: Connection reset by 192.168.2.44>
503 17:06:42 centos sshd[3360]: Accepted password for root from >
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。