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

相关文章

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen