1.系统服务#
1.什么是服务
系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。
2.控制服务
1.systemd
系统初始化程序,系统开始的第一个进程,pid为1
2.pstree
显示系统中的进程树
3.systemctl 命令(服务控制命令)
下面都用sshd服务来举例子:
systemctl status sshd 查看指定服务状态
systemctl start sshd 开启指定服务
systemctl stop sshd 关闭指定服务
systemctl restart sshd 重新启动服务
systemctl reload sshd 使指定服务从新加载配置
systemctl mask sshd 冻结指定服务
systemctl unmask sshd 启用服务
systemctl enable sshd 设定指定服务开机开启
systemctl disable sshd 设定指定服务开机时不启动
**(1).**sshd服务开机启动:(可以看到第4行有个“enable”)
** (2).**sshd服务开机不启动:(可以看到第4行有个“disable”)
systemctl list-units 列出当前系统所有开启的服务的状态
systemctl list-unit-files 列出所有服务的开机状态
systemctl list-dependencies sshd 查看指定服务的倚赖关系
systemctl set-default multi-user.target 设定系统启动时为多用户级别(不开启图形模式)
systemctl set-default graphical.target 设定系统启动时级别为图形模式
setterm命令 文本界面相关颜色设定
3.服务状态
systemctl status 服务名称
loaded 系统服务已经初始化完成,加载过配置
active(running) 正有一个或多个程序正在系统中执行,
vsftpd 就是这种模式
atcive(exited) 仅执行一次就正常結束的服务,
目前并没有任何程序在系統中执行
atcive(waiting) 正在执行当中,不过还再等待其他的事件才能继续处理
masked 服务冻结
inactive 服务关闭
enbaled 服务开机启动
disabled 服务开机不自启
static 服务开机启动项不可被管理
failed 系统配置错误
举一个栗子:查看火墙状态
----------> 此火墙状态为active(running),且设置的开机自动启动(enable)。
2.sshd服务#
为了方便实验,将两台虚拟机改名分别为desktop和server
查看当前主机名:hostname
更改主机名字:hostnamectl set-hostname 主机名
ps:在更改后立即生效,但需要另外打开一个shell或重新打开一个shell才能看到名字更改
1.sshd简介
sshd = secure shell
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
sssh ------------------> sshd
client端 server端
2.客户端连接方式
ssh 远程主机用户@远程主机ip 文本模式(命令行)
ssh 远程主机用户@远程主机ip -X 可以开启图形界面
ssh 远程主机用户@远程主机ip command 直接在远程主机运行某条命令
注意:第一次连接陌生主机时需要建立认证文件,所以会询问是否建立,输入yes确认
再次连接此主机时,因为生成~/.ssh/know_hosts文件,故没有询问
Are you sure you want to continue connecting (yes/no)? yes ----------> 第一次连接陌生主机时需要建立认证关系
Warning: Permanently added '172.25.254.77' (ECDSA) to the list of known hosts.
root@172.25.254.77's password: -----------> 远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ----------> 登陆成功
3.ssh的key加密#
1.生成公钥私钥
ssh-keygen ----------> 生成公钥私钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ---------> 加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): [enter] ----------> 密钥密码,必须>4个字符(建议默认)
Enter same passphrase again: [enter] ------ --->确认密码
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:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key's randomart image is:
......
查看生成的文件:
其中:
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
2.添加key认证方式(加密服务)
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.77
解释:
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
authorized_keys ##出现这个文件表示加米完成
root ##加密用户为root
172.25.254.77 ##被加密主机ip
3.分发钥匙给client主机(这里即时desktop虚拟机)
scp /root/.ssh/id_rsa root@172.25.254.157:/root/.ssh/
此时在desktop虚拟机的/root/.ssh/目录下就有一个私钥了
4.测试
ssh root@172.25.254.77 ##客户机(即desktop)连接服务机(server)通过id_rsa直接连接不需要输入用户密码
4.提升ssh的安全级别#
1.配置文件:/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码进行sshd认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许root用户通过输入密码进行sshd认证
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell。白名单出现,不再其中的用户不被允许sshd认证登陆
50 DenyUsers westos ##用户黑名单
重启服务:systemctl restart sshd.service
2.ssh登陆提示修改
vim /etc/motd ##文件内容就是登陆后显示内容
hello world ##在登陆后就会显示这个字符
4.用户登陆审记#
w ##查看使用系统的当前用户有那些
w -f ##查看使用地点
w -i ##显示ip
相关文件:/var/run/utmp
2.
last ##查看用户登陆成功历史
相关文件:/var/log/wtmp
3.
lastb ##查看用户登陆未成功历史
相关文件:/var/log/btmp