当前位置: 首页 > news >正文

踩大坑ssh免密登录详细讲解

目     录

问题背景

环境说明

免密登录流程说明

1.首先要在对应的用户+主机名的情况下生成密钥对,在A服务器执行

2.将A服务器d公钥拷贝到B服务器对应的位置

3.在A服务器访问B服务器

免密登录流程

0.用户说明

1.目前现状演示

2.删除B服务器.ssh 文件夹下面的内容

3.删除A服务器.ssh文件夹下面的内容

4.在A服务器上生成公钥并发送给B

5. A免密登录B

 6.同样配置好B服务器对A服务器的免密登录

总结


问题背景

最近多物理机配置hadoop,将要进行namenode和datanode迁移流程,需要彼此之间配置免密登录,但是死活配置不正确

我这里总结一下经验教训

环境说明

1.本次准备将datanode拆分另一台Linux服务器上面,本机为Ubuntu系统,待迁移服务器为CentOS系统

2.原先Ubuntu系统节点用户名为hadoop,IP为10.6.226,别名为hadoop01

CentOS系统节点用户名为hadoop,IP为10.6.30.185,别名为hadoop02

但是发现不知道跟哪个砂杯教程走,吧这两个用户的/home/hadoop/.ssh文件给同步了,导致了修改一个authorized_keys或者id_rsa.pub,另一个会同步修改。发现这个问题后,有两个解决办法,首先是将公钥分开路径存,但是有点蠢且麻烦,其次是重新创建一个新用户,这个就要重新配hadoop环境,不过还好,重在简单

免密登录流程说明

假如你要在A服务器,免密登录B服务器

1.首先要在对应的用户+主机名的情况下生成密钥对,在A服务器执行

ssh-keygen -t rsa

任意位置即可,全部回车即可,中途会要你指定生成路径,默认回车就行,如果需要重写,那么就重写(注意你在没有其他业务的时候可以这样干!!)

2.将A服务器d公钥拷贝到B服务器对应的位置

如果B服务器的对应文件不存在,在A服务器执行

ssh-copy-id username@serverB

如果B服务器的对应文件存在,也可以在A服务器执行

cat ~/.ssh/id_rsa.pub | ssh username@serverB 'cat >> ~/.ssh/authorized_keys'

这两步都是将A的公钥(存放在id_rsa.pub)拷贝到B服务器的authorized_keys

3.在A服务器访问B服务器

A服务器执行如下指令

ssh username@serverB

基本能访问B服务器了

但是我还是不能访问B服务器

这时候你可能需要对登录流程进行访问

在A服务器执行

ssh -v username@serverB

或者

ssh -vvv username@serverB

查看调试信息

我后面发现我的两个用户只能单方面访问。。。made,两个文件不知道为什么被同步了

然后我新建了一个用户进行配置,就可以了

理论结束,下面是实战环节

免密登录流程

0.用户说明

A

服务器1(本机)

hadoop@liuqidong-HP-Laptop-15s-dr3xxx:

IP:10.6.3.226

用户名:hadoop

系统:Ubuntu

B

服务器2(拓展节点)

hadoop01@localhost

IP:10.6.30.185

用户名:hadoop01

系统:CentOS

1.目前现状演示

A免密登录B

B免密登录A

2.删除B服务器.ssh 文件夹下面的内容

由于B服务器公钥没有,两边都不能进行免密登录

3.删除A服务器.ssh文件夹下面的内容

4.在A服务器上生成公钥并发送给B

ssh-keygen -t rsa
ssh-copy-id username@serverB

B服务器已经接收到公钥了

5. A免密登录B

 6.同样配置好B服务器对A服务器的免密登录

出错了就在ssh登录的时候加上-v 或者 -vvv参数查看信息就好啦

你学废了嘛(qwq~)y

总结

1.少看砂杯教程,要懂得里面的原理是什么,为什么能做成这件事情,而不是死跟教程,中途用了哪些文件,文件里面应该是什么数据,要做到一清二楚

2.遇到问题要积极解决,多想一些方案,多次尝试,要有坚持不懈的精神,毕竟这是经过很多人验证的系统,出现问题多从本地,从自身寻找原因

3.出错要学会查看对应日志,学会调试整个流程,看看那一环节出错了

相关文章:

踩大坑ssh免密登录详细讲解

目 录 问题背景 环境说明 免密登录流程说明 1.首先要在对应的用户主机名的情况下生成密钥对,在A服务器执行 2.将A服务器d公钥拷贝到B服务器对应的位置 3.在A服务器访问B服务器 免密登录流程 0.用户说明 1.目前现状演示 2.删除B服务器.ssh 文件夹下面的…...

操作系统八股

1、请你介绍一下死锁,产生的必要条件,产生的原因,怎么预防死锁 1、死锁 两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处…...

Hudi SQL DDL

本文介绍Hudi在 Spark 和 Flink 中使用SQL创建和更改表的支持。 1.Spark SQL 创建hudi表 1.1 创建非分区表 使用标准CREATE TABLE语法创建表,该语法支持分区和传递表属性。 CREATE TABLE [IF NOT EXISTS] [db_name.]table_name[(col_name data_type [COMMENT col_co…...

gin 框架的 JSON Render

gin 框架的 JSON Render gin 框架默认提供了很多的渲染器,开箱即用,非常方便,特别是开发 Restful 接口。不过它提供了好多种不同的 JSON Render,那么它们的区别是什么呢? // JSON contains the given interface obje…...

《Dataset Condensation with Differentiable Siamese Augmentation》

《Dataset Condensation with Differentiable Siamese Augmentation》 在本文中,我们专注于将大型训练集压缩成显著较小的合成集,这些合成集可以用于从头开始训练深度神经网络,性能下降最小。受最近的训练集合成方法的启发,我们提…...

多普勒频率相关内容介绍

图1 多普勒效应 1、径向速度 径向速度是作用于雷达或远离雷达的速度的一部分。 图2 不同的速度 2、喷气发动机调制 JEM是涡轮机的压缩机叶片的旋转的多普勒频率。 3、多普勒困境 最大无模糊范围需要尽可能低的PRF; 最大无模糊速度需要尽可能高的PRF&#xff1b…...

win10睡眠快捷方式

新建快捷方式 如下图 内容如下 rundll32.exe powrprof.dll,SetSuspendState 0,1,0 下一步 点击完成即可。 特此记录 anlog 2023年10月6日...

C++中的static和extern关键字

1 声明和定义 声明就是告诉编译器有这个东西的存在,而定义则是这个东西的实现。 对于变量来说,声明就是告诉编译器存在这个名称的变量,定义则是给这个变量分配内存并赋值: // 变量声明,声明时不能赋值,如…...

JAVA经典百题之找完数

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如61+2+3.编程找出1000以内的所有完数。 程序分析 首先,我们需要编写一个程序来找出1000以内的所有完数。"完数"是指一个数等于它的…...

CSS 滚动驱动动画 view-timeline-inset

view-timeline-inset 语法例子🌰 正 scroll-padding 为正正的 length正的 percentage 负 scroll-padding 为负负的 length负的 percentage 兼容性 view-timeline-inset 在使用 view() 时说过, 元素在滚动容器的可见性推动了 view progress timeline 的进展. 默认…...

ansible部署二进制k8s

简介 GitHub地址: https://github.com/chunxingque/ansible_install_k8s 本脚本通过ansible来快速安装和管理二进制k8s集群;支持高可用k8s集群和单机k8s集群地部署;支持不同版本k8s集群部署,一般小版本的部署脚本基本是通用的。 …...

Nginx限流熔断

一、Nginx限流熔断 Nginx 是一款流行的反向代理和负载均衡服务器,也可以用于实现服务熔断和限流。通过使用 Nginx 的限流和熔断模块,比如:ngx_http_limit_req_module 和 ngx_http_limit_conn_module,可以在代理层面对服务进行限流…...

QQ登录的具体流程

文章目录 网站授权QQ登录QQ登录的完整流程代码示例1. 添加依赖2. 配置文件3. 实现Service4. 创建Controller 网站授权QQ登录 首先需要去QQ互联申请应用填写网站的相关信息,以及回调地址,需要进行审核。申请流程暂时不说了,百度一下挺多申请失…...

用JMeter对HTTP接口进行压测(一)压测脚本的书写、调试思路

文章目录 安装JMeter和Groovy为什么选择Groovy? 压测需求以及思路准备JMeter脚本以及脚本正确性验证使用Test Script Recorder来获取整条业务线上涉及的接口为什么使用Test Script Recorder? 配置Test Script Recorder对接口进行动态化处理处理全局变量以…...

接着聊聊如何从binlog文件恢复误delete的数据,模拟Oracle的闪回功能

看腻了文章就来听听视频演示吧:https://www.bilibili.com/video/BV1cV411A7iU/ delete忘加where条件(模拟Oracle闪回) 操作基本等同于上篇:再来谈谈如何从binlog文件恢复误update的数据,模拟Oracle的回滚功能 原理&a…...

计算机竞赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…...

pyqt5使用经验总结

pyqt5环境配置注意: 安装pyqt5 pip install PyQt5 pyqt5-tools 环境变量-创建变量名: 健名:QT_QPA_PLATFORM_PLUGIN_PATH 值为:Lib\site-packages\PyQt5\Qt\plugins pyqt5经验2: 使用designer.exe进行设计&#xff1…...

【MQTT】mosquitto库中SSL/TLS相关API接口

文章目录 1.相关API1.1 mosquitto_tls_set1.2 mosquitto_tls_insecure_set1.3 mosquitto_tls_opts_set1.4 mosquitto_tls_insecure_set1.5 mosquitto_tls_set_context1.6 mosquitto_tls_psk_set 2.示例代码 Mosquitto 是一个流行的 MQTT 消息代理(broker&#xff09…...

假期题目整合

1. 下载解压题目查看即可 典型的猪圈密码只需要照着输入字符解开即可得到答案 2. 冷门类型的密码题型,需要特意去找相应的解题思路,直接百度搜索天干地支解密即可 3. 一眼能出思路他已经给了篱笆墙的提示提示你是栅栏密码对应解密即可 4. 最简单的社会主…...

Redisson—分布式服务

一、 分布式远程服务(Remote Service) 基于Redis的Java分布式远程服务,可以用来通过共享接口执行存在于另一个Redisson实例里的对象方法。换句话说就是通过Redis实现了Java的远程过程调用(RPC)。分布式远程服务基于可…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...