ssh免秘钥登录与时钟同步

news2024/11/16 5:31:17

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源及其状态,确认系统是否成功同步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1612369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yabai,openssh 竟然把 Windows 搞蓝屏了

在虚拟化技术日益普及的今天,Oracle VirtualBox 提供了一个功能强大的平台,允许用户在单一物理机上运行多个操作系统。 本文将指导你如何使用 Oracle VirtualBox 安装 Oracle Linux 9.3。 1. Oracle VirtualBox 7.0 介绍 Oracle VirtualBox 7.0 是一款由…

Compose 布局

文章目录 Compose 布局ColumnColumn属性使用 RowRow属性使用 BoxBox属性使用 ConstraintLayoutLazyColumnLazyColumn属性使用使用多类型使用粘性标题回到顶部 LazyRowLazyRow属性使用 LazyVerticalGridLazyVerticalGrid属性使用 Compose 布局 Column Compose中的”垂直线性布…

大型网站系统架构演化实例_4.数据库读写分离

1.数据库读写分离 网站在使用缓存后,使对大部分数据读操作访问都可以不通过数据库就能完成,但是仍有一部分操作(缓存访问不命中、缓存过期)和全部的写操作都需要访问数据库,在网站的用户达到一定规模后&#x…

制作一个RISC-V的操作系统十二-定时器中断

文章目录 CLINT定时器中断mtimemtimecmp机制总体框架流程时间节拍系统时钟代码 CLINT 产生软件中断和定时器中断 定时器中断 mtime 类似计数器,按照硬件对应的固定频率递增 上电后会自动复位为0,有硬件自动完成 mtimecmp 需要自己设置&#xff0…

C++相关概念和易错语法(8)(匿名对象、构造+拷贝构造优化、构造析构顺序)

1.匿名对象 当我们实例化对象后,有的对象可能只使用一次,之后就没用了。这个时候我们往往要主动去析构它,否则会占着浪费空间。但是如果遇到大量的这种情况,我们并不想每次都去创建对象、调用、析构,这样会写出很多重…

【Linux】对system V本地通信的内核级理解

一、system V版本的进程间通信技术 通过之前的学习,我们大致可以感受出来,共享内存,消息队列和信号量在使用的时候是有很多共性的。它们三个的接口,包括接口中传的参数有的都有很大的相似度。其实,共享内存&#xff…

大功率岸电电源技术研究及发展趋势

大功率岸电电源是一种利用海洋潮汐、波浪等可再生能源进行电能充电的设备,也称为海洋能充电器或潮汐能发电机。它通过接收潮汐、波浪等可再生能源,将可再生能源转换为电能进行充电,为港口、岛屿等地区提供清洁、高效的电力。大功率岸电电源对…

SpringSecurity源码4

SecurityContext.class 当前线程关联的最小安全信息,提供Authentication的get/set方法 SecurityContextHolder.class SecurityContext的持有器 // 全部委托给策略类public static void setContext(SecurityContext context) {strategy.setContext(context);}public …

算法课程笔记——蓝桥云课第二次直播

注意是‘’ 都正确 可以理解为a的首地址也是数字&#xff0c;向右1 %p逻辑地址 Cin cout字符串“”单个字符本身‘’&#xff0c;其他时候不用加 这样就可以 逆运算 bool比较真假<从小到大排 11/25 都输出最省事 变成长度为n1的数组 考虑到整个都可能为一个颜色&#xff0c;…

UML/SysML建模工具更新情况-截至2024年4月(1)5款-Trufun建模平台 v2024

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本&#xff1a;itemis CREATE 5.2.2 更新时间 2024年3月22日 工具简介 原名YAKINDU Statechart Tools。状态机建模工具&#xff0c;支持各种语言的代码生成&#xff0c;提…

Semaphore信号量源码解读与使用

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 什么是Semaphore&#xff1f; 3. Semaphore源码解读 3.1 acquire…

yml文件解析

.yml 后缀的文件可以有多个application.yml # 项目相关配置 用于 RuoYiConfig.java ruoyi:# 名称name: RuoYi# 版本version: 3.8.5# 版权年份copyrightYear: 2023# 实例演示开关demoEnabled: true# 文件路径 示例&#xff08; Windows配置D:/ruoyi/uploadPath&#xff0c;Lin…

SQLite的知名用户(二十九)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite作为应用程序文件格式&#xff08;二十八&#xff09; 下一篇:SQLite FTS5 扩展&#xff08;三十&#xff09; SQLite被数以百万计的应用程序使用 从字面上看&#xff0c;有数十亿次部署。 SQLite 是 当今世界。 下面…

C语言指针加法/减法

减法运算 指针的减法运算公式&#xff1a;就是两个指针的内存差值 / 指向的数据类型的内存空间大小 如果改变了指针类型指向的数据类型&#xff0c;对指针进行 - 运算&#xff0c;其新指向的位置只和转换后的数据类型有关 如果是char &#xff0c; 则指针指向变化1byte 如果…

【微服务】spring读取配置文件多种方式深入详解

目录 一、前言 二、java配置文件介绍 2.1 java配置文件产生原因 2.2 项目使用配置文件好处 2.3 springboot项目配置文件的必要性 2.4 微服务架构下配置文件使用场景 三、java读取配置文件常用方法 3.1 使用Properties类读取配置文件 3.1.1 使用getResourceAsStream读取…

【人工智能基础】知识表示和专家系统

目录 一、知识 知识 产生式表示法 产生式表示形式 确定的事实性知识的产生式表示 不确定的事实性知识的产生式表示 确定的规则知识的产生式表示 不确定的规则知识的产生式表示 产生式系统构成 优点 缺点 语义网络 优点 缺点 框架 框架的一般结构 框架的继承 优…

如何30天快速掌握键盘盲打

失业后在家备考公务员&#xff0c;发现了自己不正确的打字方式&#xff0c;决定每天抽出一点时间练习打字。在抖音上看到一些高手的飞速盲打键盘后&#xff0c;觉得使用正确的指法打字是很必要的。 练习打字&#xff0c;掌握正确的键盘指法十分关键。 练习打字的第一步是找到…

AJAX——ajax原理

1.XMLHttpRequest 定义&#xff1a;XMLHttpRequest&#xff08;XHR&#xff09;对象用于与服务器交互。通过XMLHttpRequest可以在不刷新页面的情况下请求特定URL&#xff0c;获取数据。这允许网页在不影响用户操作的情况下&#xff0c;更新页面的局部内容。XMLHttpRequest在AJA…

大话设计模式-里氏代换原则

里氏代换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09; 概念 里氏代换原则是面向对象设计的基本原则之一&#xff0c;由美国计算机科学家芭芭拉利斯科夫&#xff08;Barbara Liskov&#xff09;提出。这个原则定义了子类型之间的关系&#xff0…

MySQL之binlog归档日志

binlog&#xff08;二进制归档日志&#xff09; binlog 二进制日志记录保存所有执行过的修改操作语句&#xff0c;不保存查询操作。如果 MySQL 服务意外停止&#xff0c;可通过二进制日志文件排查&#xff0c;用户操作或表结构操作&#xff0c;从而来恢复数据库数据。启动 bin…