IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 远程连接之ssh的使用(日志监控) -> 正文阅读

[系统运维]远程连接之ssh的使用(日志监控)

ssh的简介

ssh服务【Secure Shell 】:SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录提供服务。
解决的问题: 对服务器的远程控制,远程操作。

ssh服务是安全的、加密、基于S/C(服务端/客户端)的远程连接服务

? 【运行的sshd进程会监听22号端口,提供远程登录的服务,服务的内容: 远程操作服务器】

OpenSSH是使用SSH协议远程登录的首选连接工具。它对所有流量进行加密,以消除窃听、连接劫持和其他攻击。此外,OpenSSH还提供了大量的安全隧道功能、多种身份验证方法和复杂的配置选项。

/etc/ssh     #查看ssh下有哪些文件
[root@firewall ~]# rpm -qa|grep openssh
openssh-server-7.4p1-21.el7.x86_64   --》提供服务的软件包  -->sshd
openssh-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64  --》提供客户端使用的命令的软件包,ssh, scp, and sftp.

rpm  是linux里软件管理的命令   【-qa 查询所有的已经安装了的软件  query all

yum 也是linux里的软件管理的命令,底层是基于rpm的 --》yum 是使用python开发的软件管理工具

如何判断一个服务是启动还是没有启动?

1.查看进程
		ps aux|grep sshd
2.查看端口
		[root@firewall ~]# ss -anplut|grep sshd
		tcp    LISTEN     0      128       *:22                    *:*                   users:(("sshd",pid=1043,fd=3))
		[root@firewall ~]# netstat -anplut|grep sshd
		tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1043/sshd
	
		[root@firewall ~]# lsof -i:22
		
[cali@sanchuang-server ~]$ w      #查看有哪些用户远程登录到linux系统里了

ssh命令用于远程管理Linux主机,语法:ssh [-p]端口号 主机@IP地址

使用ssh命令远程登录
方式1: ssh 用户名@服务器地址   --》推荐
方式2: ssh -l 用户名  服务器地址
方式3: ssh  服务器地址

ssh -p22 root@192.168.31.5        #连接远端服务器 

ifconfig    					  #查看连接是否成功

exit   							  #退出连接

[root@firewall bin]# systemctl  restart sshd  #先stop,再start --》中间会中断sshd服务

[root@firewall bin]# systemctl  reload sshd   #不中断sshd服务, 重新加载配置文件--》相当于restart

密钥实现ssh远程连接,下次连接就不用密码啦【私钥、公要】

#在本地主机中生成“密钥对”,将公钥传送到远程主机中
[root@zhujh ~]# 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: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:U0qBtk4Cib7atzLDETvKEc8QkT3lPJUM40A6Op8IqTs root@zhujh
The key's randomart image is:
+---[RSA 3072]----+
| o=+.+ooo        |
|.o+o= =o .       |
|.o...* .. .      |
|.=o . +. o       |
|= *o +  S        |
|o*++  .  .       |
|=++o             |
|Eo* .            |
|.. =..           |
+----[SHA256]-----+
#ls -a   查看文件
#将公钥传到远端服务器      ssh想要使用公钥加密
ssh-copy-id 192.168.31.5
#在远程服务器中修改sshd服务的配置文件
vim /etc/ssh/sshd_config
#1.将允许的密钥验证的参数设置为yes
PubkeyAuthentication yes
#2.将允许密码验证的参数设置为no
PasswordAuthentication no
#3.保存并退出,重启ssh服务
systemctl restart sshd
#4.检查是否设置完成
[root@zhujh ~]# ssh root@192.168.31.5
Last login: Sun Aug 15 20:18:42 2021 from 192.168.31.128

修改sshd的配置文件

修改sshd服务的端口号,重新进行远程连接(systemctl restart sshd)

修改端口号的好处:默认情况下为22,不用指定端口别人就可以连接到我的服务器,这样不安全

注意:

? 1、端口号的范围:0-65535

? 2、不能使用别的服务已经占用的端口(常见的:20、21、23、25、80、443、3389、3306)

#打开sshd_config文件,修改端口为2233
vim /etc/ssh/sshd_config
Port 2233
#查看端口号
ss -anplut|grep sshd
#重启sshd服务
systemctl restart sshd

#退出远程连接终端,重新连接会发现连接不成功,可能是因为防火墙对新端口默认是拒绝新的端口号的,执行一下命令关闭防火墙和selinux
setenforce 0   #关闭selinux
#/etc/sysconfig/selinux   永久关闭
systemctl stop firewalld     #关闭防火墙

远程传输命令

scp命令用于在网络中安全的传输文件(如果想将文件通过网络传输给其他主机,恰好两台都是Linux系统,就可以使用scp)

将本地文件传送到远程主机 语法:scp [-P端口号 -r接文件夹时要用] 本地文件 远程账户@远程IP地址:远程目录

将本地文件 /lianxi/zjh.txt  传送到远程主机的 /root

[root@zhujh lianxi]# scp zjh.txt root@192.168.31.5:/root
zjh.txt                  100%   12     0.8KB/s   00:00 

将远程主机文件下载到本地 语法:scp [选项] 远程用户@IP地址:远程文件 本地目录

将远程主机  /root/zhu 下载到本地 /lianxi

[root@zhujh lianxi]# scp -P22 -r root@192.168.31.5:/root/zhu/ ./
jh.txt 

SSH的常见问题

1、ssh服务关闭后,是否还可以ssh进入服务器?已经ssh连接上的进程是否会退去?
答案: 关闭ssh服务,已经连接的ssh窗口不会断开,继续可以使用
老连接可以继续使用,新的连接连不上

2、如何知道哪些人ssh远程登录进入了我们的linux系统?
答案:w --》查看还在我们linux系统里的用户
查看日志–》/var/log/secure

3、如何加固我们的ssh服务?

? 答案:1.禁用root用户远程登录 --》黑客就需要去猜我们的用户名了

? 2.把密码设置复杂

? 3.修改端口号 --》需要去寻找我的ssh的端口号

? 4.禁用密码认证,启用密钥认

? 5.禁止root登录

? 6.升级openssh,修补漏洞

4、如何暴力破解ssh的用户名(root)和密码?

? 答案:暴力破解 --》穷举–》一个一个的密码去试试
? 1万个密码
? python,shell(脚本)

ssh的实操

#1.修改端口号
ListenAddress 0.0.0.0  --》代表任意的接口的ip地址上都提供ssh服务
#2.禁用root用户登录
ListenAddress 192.168.0.2 --》只是在192.168.0.2上提供ssh服务
PermitRootLogin no --》禁用root用户远程登录   (连接还有详细用户名)
	#为什么禁用了用ssh连的时候不能使用root用户,登录进去就可以用?
    	一连接,我们就要接触sshd,如果已经连了,就不归sshd管了
#3.ssh远程登录的方式
方式1: ssh 用户名@服务器地址   --》推荐
方式2: ssh -l 用户名  服务器地址
方式3: ssh  服务器地址
#4.查看日志
如何知道哪些人ssh远程登录进入了我们的linux系统?
#5.ssh服务器里有了公钥和私钥 为什么还需要使用linux系统里用户名和密码?
#6.kown_hosts文件的作用   #cat man

练习:
		1.修改端口号,具体自定义
		2.禁用root用户登录,新建一个普通的用户sc,并且设置密码
		3.ssh远程登录,在其他的linux系统上或者windows上
		4.查看日志
			tail -f logfile     #实时查看日志
			tail -n logfile     #查看最新n行
		5.查看kown_hosts文件的内容
        
#Ubuntu与centos也可以用ssh连接

日志管理

什么日志?

日志是系统用来记录系统运行时候的一些相关信息文本文件

日志有什么用?

日志是为了保存相关程序的运行状态错误信息等,为了对系统分析保存历史记录以及出现错误时分析错误的使用

Linux系统日志类型:

? 内核信息

? 服务信息

? 应用程序信息

什么是rsyslog?

rsyslog是Linux系统中用来实现日志功能的服务,rsyslog默认是已安装,并且启动的

#rsyslog的状态、启动、停止、重启
systemctl status|start|stop|restart rsyslog

#rsyslog的配置文件为:/etc/rsyslog.conf
#日志消息一般保存在:/var/log
#查看日志命令一般使用
tail -f logfile     #实时查看日志
tail -n logfile     #查看最新n行

facility(设施),用来定义日志消息的来源,方便对日志进行分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xT9Ij8yL-1629042821344)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210815214216554.png)]

priority(日志级别)定义不同消息的级别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-avslaR2I-1629042821347)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210815214352785.png)]

查看日志位置

ssh为例
[root@zhujh lianxi]# vim /etc/sshd_config
# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV

日志文件
tail /var/log/secure     #有远程登录的消息

配置日志服务器:多台服务器,同一集中在一台服务器上

日志服务器配置

#在日志服务器中开启tcp或udp监听
vim /etc/rsyslog.cont

# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
#module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
#module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

#重启
systemctl restart rsyslog

日志客户配置

vim /etc/rsyslog.conf

systemctl restart rsyslog

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42woNKy2-1629042821349)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210815222859072.png)]

测试效果

yum install samba -y      #在日志客户端安装一个软件
tail /var/log/messages    #查看有没有日志生成
tail /var/log/messages    #在服务器查看生成了日志

temctl restart rsyslog


**日志客户配置**

```python
vim /etc/rsyslog.conf

systemctl restart rsyslog

[外链图片转存中…(img-42woNKy2-1629042821349)]

测试效果

yum install samba -y      #在日志客户端安装一个软件
tail /var/log/messages    #查看有没有日志生成
tail /var/log/messages    #在服务器查看生成了日志
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 12:07:58  更:2021-08-16 12:08:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:25:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码