Linux中的服务信息以及远程连接

1.什么是服务

定义:系统中运行的对于系统本身没有意义,但是对客户以及有重大意义的程序叫做服务性软件,简称服务。
服务是软件,而服务器是安装了服务软件的系统
注意:对于服务的控制一般用reload 不用kill -1 (有的服务不支持reload)

2.用什么控制服务

系统初始化进程可以对服务进行相应的控制

3.当前系统初始化进程是什么

systemd     系统初始化进程
pstree      显示系统中的进程树

如图:

在这里插入图片描述

4.进程控制命令

命令 注释
systemctl status sshd 查看服务状态,inactive(不可用),active(可用)
systemctl start sshd 开启服务
systemctl stop sshd 关闭服务
systemctl restart sshd 重启服务
systemctl reload sshd 重新加载服务配置
systemctl mask sshd 锁定服务
systemctl unmask sshd 解锁服务
systemctl enable sshd 设定服务开机启动
systemctl disabld sshd 设定服务开机不启动
systemctl list-units 列出已经开启服务当前状态
systemctl list-unit-files 列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies 列出服务的倚赖
systemctl set-default multi-user.targrt 设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target 设定系统启动级别为图形模式

在这里插入图片描述
(如图输入查看服务状态命令后,显示绿色字体active即为可用状态)

注意:
1.“uname -r” 查看内核版本;
2.“ps ax |grep 进程名 ” 搜索进程;
3.服务的倚赖性,即运行时需要另一个服务开启)

ssh简介

sshd=secure shell
可以通过网络在主机中开启shell的服务
客户端软件< C-F9>

1.连接方式:

ssh      username@ip    (文本模式的连接)
ssh  -X  username@ip    (可以在连接成功后开启图形)

在这里插入图片描述
(如图所示,打开两台虚拟机用于操作,一台为client客户端,一台为server服务端,设置字体以便于区分,将两台虚拟机的网络配置好并设置好用户)
在这里插入图片描述

(然后使用一台虚拟机连接另一台虚拟机,输入设置好的密码后连接成功)
在这里插入图片描述
(输入命令检查是否连接成功)
在这里插入图片描述
(在另一台虚拟机上查看,即连接成功)

注意:
第一次连接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes,再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes

可以在自己的主机中用vim编辑/etc/hosts.deny ,输入 “sshd:ip”禁止别的主机连接,也可以编辑/etc/hosts.allow,设置被允许的主机连接,如图所示:
在这里插入图片描述
在这里插入图片描述
(输入禁止该ip的主机连接后保存退出)
在这里插入图片描述
(在开启的另一台虚拟机上已经不能连接)

注意:允许的优先级高于禁止

2.ssh的key认证

注意:设置前先检查好两台虚拟机
1.rm -fr /root/.ssh/ (删除以前的配置文件)
2.ping 172.25.254. …(是否能ping通)
3.exit (可以连以后退出连接)

1)设置锁

ssh-keygen   -f /root/.ssh/id_rsa -N “”
                       (文件名) (密码为空)

如图
在这里插入图片描述

2)设置公钥

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
                      (加密key )(加密用户为root)(加密主机ip)   

如图
在这里插入图片描述
关闭密码认证功能,如图
在这里插入图片描述
将78行的 yes 改为 no
在这里插入图片描述
注意:更改完毕后记得输入systemctl reload sshd.service命令使更改生效,如图
在这里插入图片描述

3)下发钥匙

如下图,输入远程传输命令后,输入密码,发送钥匙成功
在这里插入图片描述

4)测试

在client虚拟机上测试,发现不需要密码直接连接成功,如图
在这里插入图片描述

5)权限的收回与再次下发

收回连接权限:在server上删掉/root/.ssh/authorized_keys文件,如下图
在这里插入图片描述用client登陆时失败,如下图
在这里插入图片描述
在server复制一份公钥文件,便可再次给client权限,如下图

在这里插入图片描述
client不用输入密码直接连接成功
在这里插入图片描述
注意:可能出现的错误,
1.加密时失败,如下图

在这里插入图片描述
原因:密码认证功能之前被关闭
解决方法:打开密码认证功能vim /etc/ssh/sshd_config,将78行的 no 改为 yes ,问题解决。

2.发送钥匙时失败,如下图
在这里插入图片描述
原因:client主机更改了ssh权限拒绝连接
解决办法:在client主机打开vim /etc/hosts.deny如下图

在这里插入图片描述
更改文件内容,问题解决。

注意:
在client主机用kiosk用户输入 ssh [email protected]连接server时,
是用root用户登陆server ,而不是用kiosk用户登陆

3.sshd的安全设定

命令 vim /etc/ssh/sshd_config

行数 文件内容 注释
78 PasswordAuthentication yes/no 是否允许用户通过登陆系统的密码做sshd的认证
48 PermitPootLogin yes/no 是否允许root用户通过sshd服务的认证
52 Allowusers 用户名 设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
52 Denyusers 用户名 设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd

注意:设置完成后记得输入命令systemctl reload sshd.service使更改生效

4.添加sshd登陆信息

命令 vim /etc/motd
文件内容就是登陆后显示的信息
可以输入主机名,ip等信息提示,优化登陆环境,如图
在这里插入图片描述

5.用户的登陆审计

命令 注释
w 查看正在使用当前系统的用户
w -f 查看使用来源
w -i 显示ip
last 查看使用过并退出的用户
lastb 试图登陆但没有成功的用户

w命令演示
在这里插入图片描述
w -f 命令演示
在这里插入图片描述
last命令,使用过并退出的用户信息保存在/var/log/wtmp中,
在这里插入图片描述

清空/var/log/wtmp,输入last命令,发现没有信息,如图

在这里插入图片描述

lastb命令,试图登陆但没有成功的用户信息在/var/log/btmp中,
在这里插入图片描述
清空/var/log/btmp,输入lastb
命令,发现没有信息,如图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44299264/article/details/86377990