ssh免秘钥登录与时钟同步

2024-04-21 20:28
文章标签 时钟 登录 同步 ssh 免秘

本文主要是介绍ssh免秘钥登录与时钟同步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ssh免秘钥登录及数据拷贝

  • ssh免秘钥登录及数据拷贝
    • 环境
    • 生成秘钥
    • 拷贝公钥到到远程服务器
      • 通过ssh-copy-id命令拷贝公钥到远程服务器
      • 通过手动拷贝公钥到远程服务器
    • 非root用户远程拷贝公钥
  • 设置编码方式
    • 临时设置编码
    • 永久设置方法一
    • 永久设置方法二
  • 设置时钟同步
    • 使用 ntpdate 命令
    • 使用 ntpd 服务
    • 使用 timedatectl 命令
    • 使用 chrony 服务

ssh免秘钥登录及数据拷贝

环境

在这里插入图片描述
以下使用root用户操作示例:

生成秘钥

登录192.168.3.103服务器后,任意目录执行如下命令
ssh-keygen -t rsa 回撤三次即可,生成秘钥文件如下:
在这里插入图片描述
在这里插入图片描述
可以看到生成秘钥存储在/root/.ssh目录下。
公钥文件: /root/.ssh/id_rsa.pub
私钥文件: /root/.ssh/id_rsa

拷贝公钥到到远程服务器

通过ssh-copy-id命令拷贝公钥到远程服务器

方法一:通过ssh-copy-id命令将公钥拷贝到192.168.3.102远程服务器

1、拷贝前102服务器:可以看到/root/.ssh目录下没有内容。
在这里插入图片描述
2、103服务器执行拷贝:

ssh-copy-id -p 22 -i /root/.ssh/id_rsa.pub root@192.168.3.102

执行该命令后,需要输入远程服务器登录密码,输入后,将103服务器公钥拷贝到102服务器/root/.ssh/authorized_keys文件中。
在这里插入图片描述
3、拷贝后102服务器:可以看到/roo/.ssh目录下多了一个authorized_keys文件,该文件中保存着103服务器生成的公钥。
在这里插入图片描述

4、测试验证
通过103服务器执行ssh 命令登录102服务器,观察是否需要输入密码。

[root@node103 .ssh]# ssh -p 22 root@192.168.3.102

在这里插入图片描述
以上可以看到,不用输入密码,直接登录到102服务器,同时通过ifconfigc查看当前服务器地址为102,以上表示免秘钥配置成功。

通过手动拷贝公钥到远程服务器

方法二:通过手动将公钥拷贝到远程服务器/root/.ssh/authorized_keys 文件中
1、查看103服务器生成的公钥:

 cat  /root/.ssh/id_rsa.pub

在这里插入图片描述
2、复制103公钥,在102服务器执行vim /root/.ssh/authorized_keys ,将该公钥添加到文件中即可。

vim /root/.ssh/authorized_keys

在这里插入图片描述3、免登录测试
/103服务器执行ssh命令登录102服务器,观察是否需要输入密码。

[root@node103 .ssh]# ssh -p 22 root@192.168.3.102

, 回撤,不用输入密码即可登录到192.168.3.102服务器,然后输入 ipconfig 查看服务器ip,如果是192.168.3.102 表示免密登录配置成功,如果需要输入密码,则检查以上配置是否正确。
在这里插入图片描述
注意: 如果使用非root用户(公钥服务器及远程服务器),生成公钥在/home/.ssh/目录下,不在/root/.ssh目录下。

非root用户远程拷贝公钥

示例介绍以非root用户wangsh为例,配置面秘钥登录。
1、生成公钥
在这里插入图片描述
可以看到生成的秘钥目录为/home/wangsh/.ssh/,而不是在/root/.ssh目录下。

2、拷贝秘钥到远程服务器
删除远程服务器authorized_keys文件。
rm -rf authorized_keys
在这里插入图片描述
拷贝公钥:默认将公钥拷贝到远程服务器wangsh用户的/home/wangsh/.ssh目录下。
ssh-copy-id -p 22 -i /home/wangsh/.ssh/id_rsa.pub wangsh@192.168.3.102
在这里插入图片描述
测试验证:登录远程服务,检查是否需要输入密码。
ssh -p ‘22’ ‘wangsh@192.168.3.102’
在这里插入图片描述
在这里插入图片描述
可以看到执行ssh命令登录102服务器,不用输入密码。以上表示配置面秘钥成功。
注意: 非root配置可能有时不生效,这种情况需要将公钥分别拷贝到远程服务的非root用户/home/wangsh/.ssh/authorized_keys和/root/.ssh/authorized_keys文件中即可。

设置编码方式

linux中文有时可能会出现乱码,需要设置编码方式,默认为en_US.UTF-8。
查看编码: echo $LANG
查看安装包:locale
在这里插入图片描述

临时设置编码

临时设置编码: LANG=“zh_CN.UTF-8”,该方式设置只在当前窗口有效,关闭后自动失效。

永久设置方法一

修改/etc/locale.conf文件内容,增加编码设置。

 vim /etc/locale.conf
#LANG=en_US.UTF-8
LANG=zh_CN.UTF-8

在这里插入图片描述
刷新系统生效:source /etc/locale.conf
在这里插入图片描述
可以看到,编码已经生效。

永久设置方法二

修改/etc/sysconfig/i18n文件中编码设置,改为中文utf8编码即可。

vim /etc/sysconfig/i18n
#LANG=en_US.UTF-8
LANG=zh_CN.UTF-8

在这里插入图片描述
刷新系统生效:source /etc/sysconfig/i18n
在这里插入图片描述

设置时钟同步

在Linux系统中设置时钟同步通常涉及到使用网络时间协议(NTP)服务来确保系统时间与全球标准时间保持精确同步。以下是几种常见的设置时钟同步的方法:

使用 ntpdate 命令

临时同步时间:执行该命令后会立即与指定的NTP服务器同步系统时间

sudo ntpdate pool.ntp.org

定期同步: 即将同步时钟添加到系统的定时任务crontab中,
例如:在crontab文件中添加以每天凌晨3点执行一次ntpdate命令,与NTP服务器同步时间。

sudo crontab -e
0 3 * * * /usr/sbin/ntpdate pool.ntp.org

使用 ntpd 服务

安装并启用ntpd服务更适用于长期稳定的时间同步,因为它不仅会一次性校正时间,还能持续监控并微调系统时间,以应对网络延迟、系统时钟漂移等因素导致的时间偏差。

1、安装ntp服务: 根据Linux发行版不同,安装命令可能略有差异。
对于基于Debian的系统(如Ubuntu): sudo apt update && sudo apt install ntp
对于基于RPM的系统(如CentOS/RHEL): sudo yum install ntp
配置: 通常,系统默认的ntp.conf配置文件已经包含了合适的NTP服务器列表。若需要自定义,编辑 /etc/ntp.conf 文件。

2、启动并启用服务:

sudo systemctl start ntpd
sudo systemctl enable ntpd

3、验证服务状态: sudo systemctl status ntpd

使用 timedatectl 命令

timedatectl 是一个方便的命令行工具,用于管理和查看系统时钟与时间设置。在许多现代Linux发行版中,它已经被集成,可以用来启用或禁用系统时钟同步:

1、启用NTP同步: sudo timedatectl set-ntp true

2、检查当前状态:timedatectl status
输出中应显示 System clock synchronized: yes,表示NTP同步已启用。

使用 chrony 服务

chrony 是另一种高效且精准的NTP客户端和服务端软件,尤其适用于网络环境不稳定或频繁改变网络环境的系统。某些Linux发行版(如Fedora、RHEL/CentOS 7及更高版本)可能预装了chrony而非传统的ntpd。

1、安装(如果未预装):

sudo apt install chrony # Debian-based systems
sudo yum install chrony # RPM-based systems

2、配置npt同步服务: 编辑 /etc/chrony/chrony.conf 文件,添加或修改NTP服务器。

3、启动并启用服务:

sudo systemctl start chronyd
sudo systemctl enable chronyd

4、检查服务状态: sudo chronyc sources -v
此命令显示当前连接的NTP源及其状态,确认系统是否成功同步。

这篇关于ssh免秘钥登录与时钟同步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923963

相关文章

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的