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

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

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

相关文章

血糖长期不降,乏力、视力模糊?可能治疗方向有误。

糖尿病能不能治愈,中医能不能治,这是很多人讨论的话题,现在全世界任何一家西医医院都会告诉你,糖尿病没办法治,给你的建议也是终身服药,或者打胰岛素治疗,但是我告诉你,其实这都是治…

Jmeter04:关联

1 Jmeter组件:关联 概括:2个请求之间不是独立的,一个请求响应的结果是作为另一个请求提交的数据,存在数据交互 1.1 是什么? 就是一个请求的结果是另一个请求提交的数据,二者不再是独立 1.2 为什么&#x…

360春招笔试题

目录 对于Android中Handler类的handleMessage和sendMessage方法的用法描述 以下哪个不是线程独立拥有的?

深入理解Java IO流:字符流

深入理解Java IO流:字符流 引言 在Java中,IO(输入/输出)操作是程序与外部世界交互的重要方式。 其中,File类是进行文件操作的基础,而字节流和字符流则是数据传输的两种主要方式。 本文将深入探讨这些概念及…

【Redis 神秘大陆】004 高可用集群

四、Redis 高可用和集群 当你发现这些内容对你有帮助时,为了支持我的工作,不妨给一个免费的⭐Star,这将是对我最大的鼓励!感谢你的陪伴与支持!一起在技术的路上共同成长吧!点击链接:GitHub | G…

算法总结篇 —— dfs(搜索、递归、回溯)

有些事情本来很遥远,你争取,它就会离你越来越近 概念 名词解释如何理解递归 dfs 回溯类问题蓝桥杯——飞机降落 dfs 迷宫搜索类问题蓝桥杯——岛屿个数 概念 名词解释 递归是指在一个函数的定义中调用自身的过程,有些复杂问题可以划分为多…

IO同步与异步

公众号:I/O异步与同步 我们的程序,如果要对I/O设备进行操作,比如通过一个socket发送数据,文件的读写,是怎么实现的呢? 要知道,为了保证系统安全以及抽象化(避免每个进程都需要对IO设…

c++的学习之路:26、AVL树

摘要 本章主要是说一下AVL树的实现,这里说的是插入的底层原理 目录 摘要 一、原理 二、四种旋转 1、左单旋 2、右单旋 3、左右双旋 4、右左双旋 三、代码实现 1、节点创建 2、插入 3、旋转 4、判断是否平衡 5、测试 四、代码 一、原理 前面说了搜索…

面试经典150题——H指数

面试经典150题 day11 题目来源我的题解方法一 排序从后往前遍历方法二 计数排序后缀和方法三 排序从左到右遍历 题目来源 力扣每日一题;题序:274 我的题解 方法一 排序从后往前遍历 先将数组升序排序,然后h从n到0开始遍历,计算…

为啥转化为可编辑面片后有这么多点和线

可以删一下 按住alt按移除可以删掉 选择你要删的那些线 按住alt点移除

一个typescript 5 + rollup 4 打包lib模板仓库实现

前言 昨天在写点什么东西的时候,发现有些逻辑可以搞成一个 npm 模块。 找了下看看,有没有什么好用现成模板用于开发。。发现并没有; 那有需求就解决需求。。 需求 基于当前的流行技术栈选型(rollup 4.x typescript 5.x)提供一个最小化模…

eBay、亚马逊自养号测评如何避免风控账号关联选择合适网络IP环境

在自养号下单中选择适合的网络环境至关重要。经过多次实践与测试,积累了大量的经验,希望能够与大家分享,帮助大家避开陷阱,顺利前行。 市面上的网络环境种类繁多,从纯IP类的Luminati、Rola,到纯环境类的VM…

编写Spark独立应用程序

执行本文之前,先搭建好spark的开发环境,我目前只搭建了standalone模式,参考链接 : Spark Standalone模式部署-CSDN博客 1. 安装sbt 1)下载sbt 网址:https://www.scala-sbt.org/download.html &#xff0c…

【云原生 • Docker】 ELK 8.4.3 docker 保姆级安装部署详细步骤

文章目录 ELK简介二、版本说明三、安装部署3.1 创建docker网络3.2 Elasticsearch拉取docker镜像,版本:8.4.3第一次执行docker脚本可以看到控制台的信息,找到这个信息并保存下来创建Elasticsearch挂载目录给创建的文件夹授权将容器内的文件复制到主机上删除容器修改docker脚本…

【GPTs分享】GPTs分享之Image Recreate | img2img​

简介 该GPT是一个专门用于图像编辑、重建和合并的工具。它通过详细的自动图像描述和生成,帮助用户从源图像中重现或修改图像。此工具设计用于为视障用户提供图像内容的详细描述,并生成全新的图像,以满足特定的视觉需求。 主要功能 \1. 图像…

Python基础:【练手小实验系列】列表、元组、字典、集合

文章目录 题目练习题1: 列表合并和排序练习题2: 元组元素计数练习题3: 字典键值互换练习题4: 集合的交集与并集参考答案练习题1: 列表合并和排序练习题2: 元组元素计数练习题3: 字典键值互换练习题4: 集合的交集与并集题目 练习题1: 列表合并和排序 题目描述: 给定两个已经排…

webpack源码分析——enhanced-resolve库之cdUp函数

一、 cdUp函数 函数功能 该函数寻找上层目录,每次调用函数时对输入的路径进行一次寻找上级目录。如果没有找到返回null 二、函数分析 传入的directory判读是否为‘/’如果是直接返回nullif (directory "/") return null;获取‘/’和‘\’在directory 中…

Unity开发holoLens2应用时的ProjectSettings配置

正确的进行Unity工程配置,才能进行后续的【发布】和【部署】操作… 本案例开发环境说明: Unity2021.3.18Win10VS2022HoloLens2 一、平台设置 二、Quality画面质量设置 三、Player玩家设置 四、XR-Plug设置 五、环境测试 导入一个官方demo&#xff0c…

基于C语言的贪吃蛇实现

头文件 #pragma once #include<stdio.h> #include<Windows.h> #include<stdbool.h> #include<locale.h> #include<time.h> #define KEY_PRESS(vk) ( (GetAsyncKeyState(vk) & 1) ? 1 : 0) #define POS_X 24 #define POS_Y 5 #define FOOD …

网址分类-杂项

网址分类 Python可视化库matplotlibplotnineseaborn 科学计算库numpy scipy数据分析库pandas 人工智能opencvkeras 工具网站电子工具 Python 可视化库 matplotlib matplotlib官网 plotnine plotnine seaborn seaborn 科学计算库 numpy numpy官网 scipy scipy官网 …