pstree | more
systemd ---daemon 守护服务---》 守护进程
init 是串行启动
systemd 是并行启动
systemctl 控制服务
systemctl start|stop|restart|enable|disable|mask|unmask|status 服务
开启服务|停止服务|重启服务|设置服务下次开机启动|设置服务下次开机不启动|屏蔽服务|取消屏蔽的服务|状态
如果直接输入systemctl 然后回车 就会列出所有的服务
systemctl stop sshd
systemctl is-active sshd
systemctl start sshd
systemctl is-active sshd
systemctl status sshd
ssh.service
/usr/lib/systemd/system/ sshd.service 这是服务的路径
[admin@rhce7-0 ~]$ systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled) ------下次开机启动
Active: active (running) since Sat 2017-06-10 09:06:59 CST; 1h 1min ago
Process: 1519 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
Main PID: 1531 (sshd)
CGroup: /system.slice/sshd.service
└─1531 /usr/sbin/sshd -D
举个例子:
[root@rhce7-0 ~]# systemctl disable sshd
rm '/etc/systemd/system/multi-user.target.wants/sshd.service'
如果disable 就是rm掉这个etc下面的配置文件。系统启动没有这个配置文件,就不会启动这个服务
[root@rhce7-0 ~]# systemctl enable sshd
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
ln -s 软连接, 把要开机启动的服务做个软连接到系统etc/的某个位置,系统启动就会加载etc的配置文件
屏蔽:
RHEL7中系统中存在了很多冲突的服务,功能一样的服务, iptables 和firewalld ip6tables/network 和NetworkManager
屏蔽后了就不能启动这个服务了
systemctl stop iptables
systemctl start firewalld
systemctl mask firewalld
systemctl start firewalld --mask 后 是不能启动的。
root@rhce7-0 ~]# systemctl mask firewalld
ln -s '/dev/null' '/etc/systemd/system/firewalld.service'
[root@rhce7-0 ~]# systemctl start firewalld
Failed to issue method call: Unit firewalld.service is masked.
介绍ssh
ssh 是不支持ssh客户端的
对称加密算法,和非对称加密算法
1, 对称加密算法
有一个密钥叫做key
A+KEY=B
B+KEY=A
加密密钥个数成指数变化 2 n(n-1) 幂指数
加密速度快
2 非对称加密算法
有两个密钥 一个叫公钥 public key一个要私钥 private key
特点: A+公钥加密=B
B+私钥解密=A
------------------------------------
A+私钥加密=C
C+公钥解密=A
公钥是可以共享出去的,私钥必须只有自己本地保存
算法:生成密钥对的工具
RSA
DSA
ECDSA
加密速度非常慢
安全:
数据的加密性
数据的不可篡改性
身份确定
不可抵赖性
ssh=secure shell
openssh
cd /etc/ssh
sshd _config是服务器的配置文件
ssh_config是客户端的配置文件
ssh-keygen -l -f ssh_host_ecdsa_key 采集指纹 fingerprint
~/.ssh/know_hosts
---------------------------------------
算出服务器端的指纹:ssh-keygen -l -f ssh_host_ecdsa_key
密码登录:
指纹目的是客户端的登录服务器的时候唯一确定服务器身份的东西,只有第一次登陆才需要验证服务器的指纹,之后都采用公钥来验证,因为第一次登陆后客户端就会在自己家目录下的.ssh/know_hosts文件中记录下服务器的公钥,
在验证完指纹之后,服务器会要求客户端输入密码。 此时客户端会将输入的密码和服务器端的公钥进行加密,然后将加密后的内容发送给服务器, 服务器在收到了使用自己公钥加密的密码之后,会用自己的私钥解密,结果解密后密码是正确的,那么就建立ssh链接
基于密钥的验证方式原理
客户端先通过RSA或者DSA算法生成一对密钥
通过ssh协议将自己的公钥发送给服务器
服务器在收到了客户端的密钥的时候会将密钥保存在某个位置(配置文件里有记录)
客户端在登录服务器的时候,会选择密钥验证方式登录
服务器在收到了客户端密钥请求登录的时候,会生成一个随机数,并且以客户端的公钥加密,并且把加密后的数据发送给客户端
客户端收到了加密数据,会将数据用自己的私钥解密,拿到这个随机数,再用服务器的公钥加密,然后发送给服务器服务器收到了加密后的数据会用服务器的私钥解密随记数,然后对比之前自己产生的随机数,一样,说明对端确实是真正的客户端 建立ssh会话
ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub root@server ---自动放入到/root/.ssh/auth
RHEL7 有 journal--伴随着systemd的-------------journald 替换syslog
存放日志目录:
cd /run/log/journal/
使用journalctl 来检索
-u
--since= , --until=
NTP服务:
chronyd.service
vim /etc/chrony.conf
systemctl restart chronyd.service
chronyc 进入主动同步
waitsync