牵牛望月 發表於 2025-8-12 00:00:00

Linux 服务配置实践之NTP时间同步与SSH免密登录

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一、背景、核心以及工具<ul class="second_class_ul"><li>作业背景与意义:</li><li>核心内容:</li><li>工具:</li></ul></li><li>二、工具的确认与安装<ul class="second_class_ul"><li>(一)NTP 服务相关工具</li><li>(二)SSH 相关工具</li></ul></li><li>三、具体操作步骤<ul class="second_class_ul"><li>(一)配置 NTP 时间服务器,确保客户端主机(nodel1)能和服务主机(master)同步时间</li><ul class="third_class_ul"><li>1.&nbsp;服务主机master配置(IP:192.168.232.141)</li><li>2. 客户端nodel1配置(IP:192.168.232.142)</li></ul><li>(二)配置 SSH 免密登录,实现客户端主机通过服务器端的 redhat 账户进行基于公钥验证方式的远程连接</li><ul class="third_class_ul"></ul></ul></li><li>四、总结与拓展<ul class="second_class_ul"><li>(一)总结:服务配置的核心价值</li><ul class="third_class_ul"></ul><li>(二)拓展:进阶学习方向</li><ul class="third_class_ul"></ul></ul></li></ul></div><p>1. 配置ntp时间服务器,确保客户端主机和服务端主机同步时间。</p>
<p>2. 配置ssh免密登录,能够实现客户端主机通过服务器端的redhat账户进行基于公钥验证方式的远程连接。</p>
<p style="text-align:center"><img alt="" height="540" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392N28.png" width="690" /></p>
<p class="maodian"></p><h2>一、背景、核心以及工具</h2>
<p class="maodian"></p><h3>作业背景与意义:</h3>
<p>本次是 Linux 服务配置基础实践作业,聚焦 NTP 时间服务器搭建与 SSH 免密登录配置,通过实操掌握跨主机时间同步和安全远程连接的实现方法,理解网络服务配置的基本逻辑,为系统集群化部署和自动化运维奠定基础。</p>
<p class="maodian"></p><h3>核心内容:</h3>
<p>依次讲解 NTP 时间服务器的配置(含服务端与客户端)、SSH 基于公钥验证的免密登录配置,并附具体操作步骤与验证方法。</p>
<p class="maodian"></p><h3>工具:</h3>
<p>&nbsp;Linux 系统自带的chronyd(NTP 服务工具)、ssh与ssh-keygen(SSH 相关工具)、文本编辑器(vim)、服务管理工具(systemctl)。</p>
<p class="maodian"></p><h2>二、工具的确认与安装</h2>
<p class="maodian"></p><h3>(一)NTP 服务相关工具</h3>
<p>Linux 系统通常默认预装chronyd(RHEL/CentOS 8 及以上版本默认 NTP 服务工具),若未安装,可通过以下命令安装:</p>
<div class="dxycode"><pre class="brush:bash;"># 安装chronyd服务
# yum install -y chrony
# 查看版本
# chronyd -v
启动并设置开机自启服务:
# 启动chronyd服务并设置开机自启
# systemctl start chronyd
# systemctl enable --now chronyd # 设置开机启动
# 查看服务状态
# systemctl status chronyd # 显示"active (running)"即为正常</pre></div>
<p class="maodian"></p><h3>(二)SSH 相关工具</h3>
<p>SSH 工具通常系统默认预装,若未安装,可通过以下命令安装:</p>
<div class="dxycode"><pre class="brush:bash;"># 安装openssh-server(服务端)和openssh-clients(客户端)
# yum install -y openssh-server openssh-clients
# 启动sshd服务并设置开机自启
# systemctl start sshd
# systemctl enable --now sshd
# 查看服务状态
# systemctl status sshd # 显示"active (running)"即为正常</pre></div>
<p class="maodian"></p><h2>三、具体操作步骤</h2>
<p class="maodian"></p><h3>(一)配置 NTP 时间服务器,确保客户端主机(nodel1)能和服务主机(master)同步时间</h3>
<p class="maodian"></p><h4>1.&nbsp;服务主机master配置(IP:192.168.232.141)</h4>
<p>① 编辑 NTP 配置文件:</p>
<div class="dxycode"><pre class="brush:bash;"># vim /etc/chrony.conf</pre></div>
<p style="text-align:center"><img alt="" height="44" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392I24.png" width="464" /></p>
<p>&nbsp;②与阿里云服务器时间同步:(方法一:将文件里面的内容删除后,将下面文字粘贴进去)</p>
<div class="dxycode"><pre class="brush:bash;">server ntp.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
logchange 0.5
logdir /var/log/chrony</pre></div>
<p>方法二:将红色方框里的文字修改为ntp.aliyun.com,pool改为server</p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392O34.png" width="692" /></p>
<p style="text-align:center"><img alt="" height="426" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392G01.png" width="934" /></p>
<p>③保存并退出。</p>
<p>④重启服务:</p>
<p style="text-align:center"><img alt="" height="61" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392J96.png" width="517" /></p>
<p>查看状态:&nbsp;</p>
<p style="text-align:center"><img alt="" height="35" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392J38.png" width="522" /></p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q211392Q24.png" width="692" /></p>
<p>若状态为active(running)即为运行成功。</p>
<p>⑤做测试,看是否能同步到阿里云的时间服务器:</p>
<p style="text-align:center"><img alt="" height="261" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933P9.png" width="692" /></p>
<p>注意看红框里的内容,若为^*则已经同步成功,若为^?则表示还未同步成功,只需要一直刷新此条命令即可,到显示^*即可。</p>
<p class="maodian"></p><h4>2. 客户端nodel1配置(IP:192.168.232.142)</h4>
<p>① 编辑 NTP 配置文件:</p>
<div class="dxycode"><pre class="brush:bash;"># vim /etc/chrony.conf</pre></div>
<p style="text-align:center"><img alt="" height="54" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933940.png" width="469" /></p>
<p>②将红色区域修改为server 192.168.232.141 iburst</p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933163.png" width="692" /></p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933910.png" width="692" /></p>
<p>③保存并退出。</p>
<p>④重启服务:</p>
<p style="text-align:center"><img alt="" height="59" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933406.png" width="512" /></p>
<p>查看状态:</p>
<p style="text-align:center"><img alt="" height="39" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113933418.png" width="504" /></p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113934524.png" width="692" /></p>
<p>若状态为active(running)即为运行成功。</p>
<p>⑤做测试,看是否能同步到服务器主机:</p>
<p style="text-align:center"><img alt="" height="249" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q21139345T.png" width="692" /></p>
<p>显然是不可以的,那是因为我们缺少了一个参数,接下来看第⑥步。</p>
<p>⑥修改服务端配置,允许客户端同步:</p>
<p style="text-align:center"><img alt="" height="30" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113934D3.png" width="480" /></p>
<p>找到下图这行参数:</p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113934117.png" width="692" /></p>
<p>并将其修改为:</p>
<p style="text-align:center"><img alt="" height="315" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113935R1.png" width="692" /></p>
<p>保存并退出。</p>
<p>⑦&nbsp;重启服务端chronyd服务使配置生效:</p>
<div class="dxycode"><pre class="brush:bash;"># systemctl restart chronyd</pre></div>
<p style="text-align:center"><img alt="" height="61" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113935P6.png" width="536" /></p>
<p>⑧&nbsp;重启客户端chronyd 服务:</p>
<div class="dxycode"><pre class="brush:bash;"># systemctl restart chronyd</pre></div>
<p style="text-align:center"><img alt="" height="67" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q21139352P.png" width="528" /></p>
<p>⑨再次做测试,看是否能同步到服务器主机:</p>
<p style="text-align:center"><img alt="" height="250" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113935Q9.png" width="692" /></p>
<p>此次成功。</p>
<p>⑩&nbsp;验证时间同步:</p>
<p style="text-align:center"><img alt="" height="489" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113935E4.png" width="495" /></p>
<p class="maodian"></p><h3>(二)配置 SSH 免密登录,实现客户端主机通过服务器端的 redhat 账户进行基于公钥验证方式的远程连接</h3>
<p>1. 环境说明</p>
<p>服务器端:IP 192.168.232.141,存在用户redhat,不存在的话先创建即可。</p>
<p style="text-align:center"><img alt="" height="232" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113935c1.png" width="692" /></p>
<p style="text-align:center"><img alt="" height="106" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q21139354P.png" width="693" /></p>
<p>客户端:IP 192.168.232.142,需免密登录服务器端的redhat账户</p>
<p>2. 客户端生成密钥对</p>
<p>① 在客户端执行以下命令生成 SSH 密钥对(一路回车默认即可):</p>
<div class="dxycode"><pre class="brush:bash;"># ssh-keygen -t rsa</pre></div>
<p style="text-align:center"><img alt="" height="320" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113936159.png" width="692" /></p>
<p style="text-align:center"><img alt="" height="123" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113936107.png" width="692" /></p>
<p>密钥对默认生成在~/.ssh/目录下,其中id_rsa为私钥,id_rsa.pub为公钥。</p>
<p>3. 客户端上传公钥到服务器端</p>
<p>① 使用ssh-copy-id命令将公钥复制到服务器端的redhat账户:</p>
<div class="dxycode"><pre class="brush:bash;"># ssh-copy-id redhat@192.168.232.141</pre></div>
<p style="text-align:center"><img alt="" height="166" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q2113936359.png" width="691" /></p>
<p>如出现Are you sure you want to continue connecting (yes/no/)?,直接输入yes然后回车输入密码即可。</p>
<p>② 按提示输入服务器端redhat账户的密码,完成公钥上传。</p>
<p>4. 验证免密登录</p>
<p>① 在客户端直接登录服务器端的redhat账户,无需输入密码即表示成功:</p>
<div class="dxycode"><pre class="brush:bash;"># ssh redhat@192.168.232.141</pre></div>
<p>成功登录后将直接进入服务器端redhat账户的命令行界面。</p>
<p style="text-align:center"><img alt="" height="323" src="https://zhuji.jb51.net/uploads/allimg/20250812/2-250Q21139363T.png" width="692" /></p>
<p class="maodian"></p><h2>四、总结与拓展</h2>
<p class="maodian"></p><h3>(一)总结:服务配置的核心价值</h3>
<p>本次作业通过实操掌握了两种关键 Linux 服务的配置:</p>
<p>NTP 时间同步通过chronyd服务实现跨主机时间一致性,是日志分析、分布式任务调度等场景的基础;</p>
<p>SSH 免密登录基于公钥验证机制,既提升了远程连接效率,又避免了密码传输的安全风险,是自动化脚本执行、集群管理的必备配置。</p>
<p>同时,理解了服务配置的通用流程:安装工具&rarr;修改配置文件&rarr;重启服务&rarr;验证效果,以及权限、网络连通性等因素对服务的影响。</p>
<p class="maodian"></p><h3>(二)拓展:进阶学习方向</h3>
<p>1. NTP 服务深化:</p>
<p>配置 NTP 服务层级(stratum),实现多级时间同步架构;</p>
<p>结合timedatectl命令管理系统时区与时钟状态。</p>
<p>2. SSH 安全强化:</p>
<p>编辑/etc/ssh/sshd_config,禁用密码登录(PasswordAuthentication no),仅允许公钥验证;</p>
<p>限制 SSH 登录的 IP 范围(AllowUsers redhat@192.168.232.*),增强安全性。</p>
<p>通过持续练习,可逐步掌握复杂网络服务的配置逻辑,提升 Linux 系统管理能力。</p>
<p>以上就是Linux 服务配置实践:NTP 时间同步与 SSH 免密登录(第二次作业)的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: Linux 服务配置实践之NTP时间同步与SSH免密登录