控制服务
1.什么是服务
服务就是系统中的功能模块,例如网络服务负责系统的网络相关的设定
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
4.进程控制命令
systemctl ---服务控制命令
1)systemctl status sshd ---查看服务状态,inactive(不可用),active(可用)
systemctl status sshd 查看服务状态,inactive(不可用),active(可用)
2)systemctl start sshd ---开启服务

3)systemctl stop sshd ---关闭服务

4) systemctl restart sshd ---重启服务

5) systemctl reload sshd ---重新加载服务配置
重启服务与重新加载服务配置区别在于,pid的改变与否

6)systemctl enable sshd ---设定服务开机启动

7)systemctl disable sshd ---设定服务开机不启动

8)systemctl list-units ---列出已经开启服务当前状态

9) systemctl list-unit-files ---列出所有服务开机启动的状态:

5.sshd服务
1.sshd简介
客户端软件<C-F9>
sshd
环境设置:
1.先查看本地ip地址

2.更改虚拟机ip地址
![]()

3.检查两个ip能否ping通

2.远程复制:
1)在虚拟机上新建文件file,在真机上用scp root@172.25.254.162:/root/Desktop/file .命令将虚拟机上的文件复制到真机上

3.直接连接
连接方式:
ssh username@ip ---文本模式的链接
ssh -X username@ip ---可以在链接成功后开启图形
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
在次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
1)直接sshd连接到虚拟机上,此时在真机shell中所作操作全都在虚拟机中实现,因为pwd所在路径时在虚拟机中。
.
2.sshd 的key认证
1)环境配置
1.再打开一个server虚拟机,设置ip地址为172.25.254.200,并且检查与Desktop能否ping通。


2.删除两台虚拟机的.ssh文件,Desktop为客户端,server为服务端 ,方便之后实验监测


2)sshd的key认证
1.生成认证钥匙

[root@server ~]# 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:
9f:4c:aa:96:a4:94:80:6f:1c:20:20:ec:7c:ee:9e:42 root@localhost
The key's randomart image is:
2.加密服务

[root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.200 --- 加密sshd
The authenticity of host '172.25.254.200 (172.25.254.200)' can't be established. ---
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INF0: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INF0: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.200's password:
Number of key(s) added: 1
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
authorized_keys 此文件出现表示加密完成
3.分发钥匙

scp /root/.ssh/id_rsa root@172.25.254.162:/root/.ssh/ ---将钥匙文件id_rsa 发送给172.25.254.162主机
4.测试
在客户端中(172.25.254.162)
1)ssh root@172.25.254.200 ---连接时发现直接登陆不需要root登陆系统的密码认证

客户端拥有私钥,连接服务端时不需要进行密码验证

客户端删除私钥,连接服务端时需要进行输入服务端密码进行验证

3)sshd的安全设定
1.是否允许用户通过登陆系统的密码做sshd的认证

编辑/etc/ssh/sshd_config文件
将78行的yes改为no,表示拒绝sshd密码认证
重启该服务,使改动生效

没有私钥的客户端ssh连接服务端,遭到拒绝

服务端再次将私钥发送给客户端,客户端ssh连接服务端,连接成功
!!服务端如何让有钥匙的客户端无法用钥匙连接到客户端
![]()
删除服务端的锁文件

此时客户端不能通过sshd服务认证连接,服务端锁文件删除,客户端无法ssh连接服务端
2.是否允许root用户通过sshd服务的认证

![]()
将服务端设置为root用户无法连接

重启sshd服务

在客户端上用root用户进行连接,结果无法连接
客户端且换乘student用户,可以连接
3. 设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd

打开编辑sshd服务文件

Allowusers student westos 添加一行设置student为白名单用户的信息

除了白名单westos,其他用户都无法连接
4. 设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd

打开sshd服务文件sshd.config
输入Denyusers westos 设置westos用户为黑名单用户

重启sshd服务

客户端连及服务端的westos用户,连接失败
客户端连接服务端root用户,连接成功
!!!!!!此处的黑名单与白名单用户都是针对的服务端的用户,因为服务端只能设定自己系统的登录权限,
无论是哪个客户端,在服务端看来都是一个身份,但是客户端需要一个身份登录到服务端,这就是在服务端时的用户名称。
5.添加sshd登陆登陆信息
vim /etc/motd ---文件内容就是登陆后显示的信息
在服务器vim打开编辑/etc/motd文件,输入信息,保存退出后重启sshd服务


在客户端,ssh连接服务端,连接成功后会显示之前在文件中所输入的信息
可以借此告知连接到本主机的客户端,本机的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/117402.html