通过两个实验来学习这两个服务进程
1.配置ntp时间服务器,确保客户端主机能和服务主机同步时间
2.配置ssh免密登陆,能够通过客户端主机通过redhat用户和服务端主机基于公钥验证方式进行远程连接
配置ntp时间服务器,确保客户端主机能和服务主机同步时间
Ntp(Network Time Protocol,网络时间协议)简介:
是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。
NTP基于UDP报文进行传输,使用的UDP端口号为123。
NTP可以对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用,对于运行NTP的本地系统,既可以接受来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。
NTP的其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms
Chrony介绍:
chrony是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器(NTP)同步,因此让你的时间保持精确。
chrony由两个程序组成,分别是chronyd和chronyc
chronyd:是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
chronyc:提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作
注意:Chrony与NTP都是时间同步软件,两个软件不能够同时开启,会出现时间冲突,RHEL9中默认使用chrony作为时间服务器,不在支持NTP软件包
第一步:准备linux主机2台,一台server端、一台node端,关闭安全软件,并下载安装chrony。
[root@server ~]# yum install chrony -y # 安装
[root@server ~]# systemctl enable chronyd # 开机启动
[root@server ~]# systemctl start chronyd # 启动服务
第二步:配置server端主机需要向阿里时间服务器进行时间同步,node1端向server端进行时间同步的Chrony文件
- server端,配置向阿里时间同步服务器进行时间同步
[root@server ~]# vim /etc/chrony.conf
将第3行pool开头的内容删除,输入以下内容:
(因为linux默认同步网络时间服务器在国外,国内访问延迟较大,但是同步延时越小越好,所以此处将时间同步服务器改为国内进行时间同步)
- 重启时间服务,测试是否同步。
[root@server ~]# systemctl restart chronyd
[root@server ~]# chronyc sources -v
- 配置允许访问的主机ip,并重启服务。此时要查看node1的IP地址
[root@server ~]# vim /etc/chrony.conf
[root@server ~]# systemctl restart chronyd
第三步:修改node1配置文件,设置时间同步服务地址,并重启服务。
[root@node1 ~]# vim /etc/chrony.conf
[root@node1 ~]# systemctl restart chronyd
修改时间并同步:
到此实验完成,node1已经可以正常通过server端获取时间。
2.配置ssh免密登陆,能够通过客户端主机通过redhat用户和服务端主机基于公钥验证方式进行远程连接
在配置前我们需要了解一个关键命令:ssh-keygen
ssh-keygen是一个用于生成、管理、转换密钥的工具
格式:ssh-keygen -t rsa
解释:-t:指定密钥类型
rsa:公钥加密算法,用于产生公钥和私钥
命令执行后会在/root/.ssh目录中(隐藏目录)生成2个文 件
id_rsa:私钥文件
id_rsa.pub:公钥
第一步:在客户端主机创建redhat用户并设置密码后登录到此账号。
第二步:定位客户端,制作密钥对并上传公钥到服务器端。
第三步:测试客户机端是否能免密登录到服务器端。
可以看出客户端redhat用户可以正常登录到服务器端的root用户完成实验。