####1.控制服务####
###1)什么是服务###
cs模型(c表示client,s表示server)
vnc为例(c—tigervnc viewer ,s—vncserver)
系统中:
服务端(httpd)------>客户端(web浏览器)
服务端(虚拟机)------>客户端re(真机)
服务(sshd)是软件
服务器:安装了服务系统软件的服务系统。
html网页框架,超文本标记语言
xml网络数据交换语言
服务的定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务。
###2)用什么控制服务###
系统初始化进程可以对服务进行相应的控制
###3)当前系统初始化进程###
systemd ##系统初始化进程
pstree ##显示系统中的进程树
###4)进程控制命令###
ssh------>sshd
client ---- server
systemctl ##服务控制命令
systemctl status sshd ##查看服务状态(inactive不可用,active可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置(和kill 1 意思是一样的)
[使用条件:http的ip没有变;如果ip变了,就必须关闭重启]
(网络服务不支持reload)
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl mask sshd ##锁定服务,不能启动服务,除非解锁
(开启服务的时候锁定,服务还可以用;关闭服务的时候锁定,服务就用不了)
systemctl unmask sshd ##解锁服务
systemctl list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态
( disable开机不启动,enable开机启动,static静止的)
[依赖性文件,某些开始时自动打开,关闭时自动关闭,不需要去考虑]
systemctl list-dependencies ##列出服务的依赖
systemctl set-default multi-user.target
##设定系统启动级别为多用户模式(开机不开启图形)
systemctl set-default graphical.target
##设定系统启动级别为图形模式(开机启动图形)
注释:sshd 服务
systemctl start sshd ##开启服务
systemctl status sshd ##查看服务状态
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl mask sshd ##锁定服务
systemctl unmask sshd ##解锁服务
systemctl list-units ##列出已经开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态
systemctl list-dependencies ##列出服务的依赖
systemctl set-default multi-user.target
##设定系统启动级别为多用户模式(开机不开启图形)
systemctl set-default graphical.target
##设定系统启动级别为图形模式(开机启动图形)
######2.sshd简介######
SSH为Secure Shell的缩写,是应用层的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
sshd可以通过网络在主机中开机shell的服务,是客户端软件
安全:一个企业的可控性
ssh认证的默认机制中,当所有的设置都正确时,就是硬件的问题
###1)连接方式###
注意:第一次连接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
在次连接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
(第一次连接,输入的密码是172.25.254.117这个超级用户的密码,
密码不小心输错了,所以输入了2次密码,实际只用输入1次即可)
如果出现如下报错:
需要切换用户,删除ssh文件
然后再连
(第二次连,不用建立认证文件)
( -X 的前后顺序是不固定的)
(假定是A机去连接的B机,加-X能在A上开启图形,不加-X则不行 )
(控制哪台主机可以连接)
(黑名单:禁止所有ip的连接,也可以具体到某个ip,即改即生效)
(白名单:允许某个ip的连接,或者某些个ip的连接,即改即生效,优先级高于黑名单,白名单和黑名单指用设置一个即可)
(查看 hosts.allow ,查找它的写法)
(写多个ip时,ip中间用空格隔开)
###2)远程复制:scp###
上传:
scp 本地文件 远程主机用户@远程主机IP:远程主机目录
scp file root@ip:dir
下载:
scp 远程主机用户@远程主机IP:远程主机目录 本地目录
scp root@ip:file dir
(上传)
(下载)
######3.sshd的key认证######
###1)准备工作###
设置一个虚拟机为客户端(client)
设置另一个虚拟机为服务端(server)
注意:设置完名称后,需要重新开启,名称才会改变
###2)设置公钥.私钥###
在服务端设置公钥(pub)
给服务端的ip加密(将锁变成私有的)(rsa私钥)
关闭原始认证(禁止客户端输入密码认证的权限)
[不让客户端除了开锁,有其他方式连接服务端]
重启服务(让修改后的原始认证生效)
###3)分拨钥匙###
分配公钥给客户端
scp /root/.ssh/id_rsa root@172.25.254.117:/root/.ssh/
###4)测试###
客户端连接服务端
在客户主机(172.25.254.117)中输入ssh root@172.25.254.217
##连接时发现直接登陆不需要root登陆系统的密码认证
###5)禁止客户端连接服务端###
###6)恢复客户端连接服务端###
######4.sshd的安全设定######
PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
(是否开启用户密码认证,yes为支持,no为关闭)
PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
Allowusers student westos ##设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd
Denyusers westos ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
######4.添加sshd登陆信息######
vim /etc/motd ##文件内容就是登陆后显示的信息
######5.用户的登记审计######
1. w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示IP
/var/run/utmp
2. last ##查看使用过并退出的用户信息
/var/log/wtmp
3. lastb ##试图登陆但没成功的用户
/var/log/btmp