踩大坑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.出错要学会查看对应日志,学会调试整个流程,看看那一环节出错了

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

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

相关文章

【将文本编码为图像灰度级别】以 ASCII 编码并与灰度级别位混合将文本字符串隐藏到图像像素的最低位中,使其不明显研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

我在 NPM 发布了新包: con-colors

链接地址:npmjs.com con-colors 安装依赖 yarn add con-colors使用 导入: import { print } from "con-colors";使用: print.succ("成功的消息"); print.err("失败的消息")例子: import { p…

OpenResty编译安装详解

文章目录 一、概述1、OpenResty是什么2、官方文档 二、cengos安装OpenResty1、从官网下载2、目录结构3、编译安装 一、概述 1、OpenResty是什么 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖…

连续波雷达相关内容简介

连续波雷达(CW雷达)连续发射高频信号。回波信号被永久接收和处理。 一、未调制连续波雷达 未调制的连续波雷达除了振荡的相位之外没有其他时间参考。它只能用于测量小于波长的距离。以上的一切都极为含糊。因此,它只能用作多普勒雷达或控制已知距离的恒定性。 二、调频连…

基于SSM+Vue的鲜花销售系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

MySQL概念

原理定义概念 定义 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库 数据库是长期储存在计算机内、有组织的、可共享的数据集合 分类: (1)非结构化数据: 数据相对来讲没有固定的特点&#…

Go基础之变量和常量

Go基础之变量和常量 文章目录 Go基础之变量和常量一. 标识符、关键字、内置类型和函数1.1 标识符1.2 关键字1.3 保留字1.4 内置类型1.4.1 值类型:1.4.2 引用类型:(指针类型)1.5 内置函数1.6 内置接口error 二.Go变量命名规范2.1 采用驼峰体命名2.2 简单、…

汽车驾驶任务的隐马尔可夫模型识别方法研究

汽车驾驶任务的隐马尔可夫模型识别方法研究 一、Introduction 自动驾驶汽车经过了几十年的发展,是目前国内外汽车行业中的重要研究方向。自 动驾驶汽车的智能化需要车辆能够有类“人”的行为,在决策策略上可以满足人的心理 需求。人在驾驶过程中&#…

计算机专业毕业设计项目推荐10-饮食搭配平台(Go+微信小程序+Mysql)

饮食搭配平台(Go微信小程序Mysql) **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程…

什么是TF-A项目的长期支持?

安全之安全(security)博客目录导读 问题:Trusted Firmware-A社区每六个月发布一次代码。然而,对于生产中的平台,该策略在维护、重要软件修复的向后兼容性、获得最新的安全缓解措施和整体产品生命周期管理方面不具备可扩展性。 开源软件项目&…

【CMU15-445 Part-15】Query Planning Optimization II

Part15-Query Planning & Optimization II Selection Statistics 维护每张表中的基本主要信息也就是tuple数量 N R N_R NR​以及每个属性中不同值的数量 V ( A , R ) V(A,R) V(A,R), N R N_R NR​关系R中的元组数量,单独维护,不能用pag…

【网络编程】UDP数据报套接字编程和TCP流套接字编程

文章目录 1. 网络编程基础1.1 为什么需要网络编程?1.2 网络编程是什么?1.3 概念 2. Socket套接字3. UDP数据报套接字编程3.1 DatagramSocket API3.2 DatagramPacket API3.3 InetSocketAddress API 4. UDP构建服务端客户端(一发一收&#xff0…

Java基于SSM+Vue的平时成绩管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Pytorch之shuffleNet图像分类

💂 个人主页:风间琉璃🤟 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 前言 ShuffleNet是Face(旷视)在2017年发布的一个高效率…

el-date-picker增加默认值 修改样式

预期效果 默认是这样的 但希望是直接有一个默认的当天日期,并且字体颜色啥的样式也要修改(在这里假设今天是2023/10/6 功能实现 踩了坑挺多坑的,特此记录 官方文档 按照官方的说明,给v-model绑定一个字符串就可以了 在j…

【MySQL】基本查询 (一)

文章目录 一. 基础查询二. where条件子句三. NULL的比较结束语 操作如下表 //创建表结构 mysql> create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment 同学姓名,-> chinese float default 0.0 comment…

基于SSM的大学生就业信息管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

《Spring Boot入门》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

PyTorch入门之【AlexNet】

参考文献:https://www.bilibili.com/video/BV1DP411C7Bw/?spm_id_from333.999.0.0&vd_source98d31d5c9db8c0021988f2c2c25a9620 AlexNet 是一个经典的卷积神经网络模型,用于图像分类任务。 目录 大纲dataloadermodeltraintest 大纲 各个文件的作用&…

软件设计师_数据结构与算法基础_学习笔记

文章目录 6.1 数组与矩阵6.1.1 数组6.1.2 稀疏矩阵 6.2 线性表6.2.1 数据结构的定义6.2.2 顺序表与链表6.2.2.1 定义6.2.2.2 链表的操作 6.2.3 顺序存储和链式存储的对比6.2.4 队列、循环队列、栈6.2.4.2 循环队列队空与队满条件6.2.4.3 出入后不可能出现的序列练习 6.2.5 串6.…