Linux SSH免密登录

       

目录

         简介

        创建Linux用户和用户组

        配置LINUX静态IP   

        编辑IP映射

        SSH免密登录配置

        登录测试


         简介

        SSH(Secure shell)是可以在应用程序中提供安全通信的一个协议,通过SSH可以安全地进行网络数据传输,它的主要原理是利用非对称加密体系,对所有待传输的数据进行加密,保证数据在传输时不被恶意破坏、泄露或篡改。但是大数据集群(主要指的是Hadoop集群,可用Hadoop代指)使用SSH主要不是用来进行数据传输的,而是在Hadoop集群启动或停止时,主节点需要通过SSH协议将从节点上的进程启动或停止。如果不配置SSH免密登录,对Hadoop集群的正常使用没有任何影响,只是在启动或停止Hadoop集群时,需要输入每个从节点用户名的密码。可以想象一下,当集群规模比较大时,比如达到成百上千节点规模,如果每次都要分别输入集群节点的密码,相当麻烦,这种方法肯定是不可取的,所以要对Hadoop集群进行SSH免密登录的配置,而且目前远程管理环境中最常使用的也是SSH。

        SSH免密登录的功能与用户密切相关,为哪个用户配置了SSH,哪个用户就具有SSH免密登录的功能,没有配置的用户则没有该功能,这里选择为hadoop用户配置SSH免密登录。

        创建Linux用户和用户组

        在大数据平台搭建的过程中,为了系统安全考虑,一般不直接使用超级用户root,而是需要创建一个新的用户和用户组。在Linux系统中,可以直接使用groupadd命令创建新用户组,groupadd的使用方法如下图所示。

        在控制台输入命令groupadd hadoop,就可以创建名字为hadoop的用户组。在Linux系统中,可以直接使用useradd命令创建新用户,useradd的使用方法如下图所示。

        在控制台输入命令useradd -g hadoop hadoop,就可以创建名字为hadoop的用户并指定用户组为hadoop。另外,可以在root用户下,使用passwd命令为刚刚创建的hadoop用户设置密码,密码可以自行设置,具体操作如图所示。 

[root@vm06 ~]# groupadd hadoop 
[root@vm06 ~]# useradd -g hadoop hadoop

        配置LINUX静态IP   

        在实际应用中,由于经常使用动态主机配置协议(Dynamic HostConfiguration Protocol, DHCP)服务器来分配IP地址,每次重启DHCP服务器,IP地址有可能是会变动的。而使用Linux系统来搭建大数据平台,希望IP地址是固定不变的,因为集群配置的很多地方都会涉及IP地址,所以需要将Linux系统配置为静态IP。那么如何进行配置呢?

        这里以vm06节点为例,首先在控制台输入命令vim /etc/sysconfig/network-scripts/ifcfg-ens33 打开配置文件,然后修改vm06节点的网卡信息,具体配置如图所示。

添加DNS1=8.8.8.8
将BOOTPROTO参数由dhcp改为static,表示将动态IP改为静态IP;
添加固定IP地址IPADDR为10.0.0.106;
添加子网掩码NETMASK为255.255.255.0;
网关GATEWAY设置为10.0.0.254。(可在VMware Workstation导航栏中,选择编辑→虚拟网络编辑器选项,查看自己设置的网段和网关)

修改网卡配置之后,需要在控制台输入命令systemctl restart network重启网络服务才能生效,

        编辑IP映射

        实际上不论是IP地址还是主机名都是为了标识一台主机或服务器。IP地址就是一台主机上网时IP协议分配给它的一个逻辑地址,主机名就相当于又给这台机器取了一个名字,可以为主机取各种各样的名字。如果要用名字去访问主机,系统如何通过名字去识别一台主机呢?这就需要配置hostname与IP地址之间的对应关系。在控制台输入命令vi /etc/hosts打开配置文件,在hosts文件的末尾按照对应格式添加IP地址和主机名之间的对应关系。此时IP地址为10.0.0.105,对应的hostname为vm05,注意它们之间要有空格。具体配置结果如图所示

        SSH免密登录配置

        首先在控制台,使用su命令切换到hadoop用户,具体操作下图所示。在hadoop用户的根目录下使用mkdir命令创建.ssh目录,使用命令ssh-keygen-t rsa(ssh-keygen是秘钥生成器,-t是一个参数,rsa是一种加密算法)生成秘钥对(即公钥文件id_rsa.pub和私钥文件id_rsa),

[hadoop@vm06 ~]$ mkdir -p .ssh
[hadoop@vm06 ~]$ ll -a
total 12
drwx------  3 hadoop hadoop  74 Nov 13 19:58 .
drwxr-xr-x. 4 root   root    30 Nov 13 19:53 ..
-rw-r--r--  1 hadoop hadoop  18 Nov 25  2021 .bash_logout
-rw-r--r--  1 hadoop hadoop 193 Nov 25  2021 .bash_profile
-rw-r--r--  1 hadoop hadoop 231 Nov 25  2021 .bashrc
drwxrwxr-x  2 hadoop hadoop   6 Nov 13 19:58 .ssh

        将公钥文件id_rsa.pub中的内容复制到相同目录下的authorized_keys文件中,具体操作如图所示。

[hadoop@vm06 .ssh]$ ll
total 8
-rw------- 1 hadoop hadoop 1679 Nov 13 20:00 id_rsa
-rw-r--r-- 1 hadoop hadoop  393 Nov 13 20:00 id_rsa.pub
[hadoop@vm06 .ssh]$ cp id_rsa.pub authorized_keys
[hadoop@vm06 .ssh]$ ll
total 12
-rw-r--r-- 1 hadoop hadoop  393 Nov 13 20:05 authorized_keys
-rw------- 1 hadoop hadoop 1679 Nov 13 20:00 id_rsa
-rw-r--r-- 1 hadoop hadoop  393 Nov 13 20:00 id_rsa.pub
[hadoop@vm06 .ssh]$ cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDq0fksmfO4IKYl7gp87JdgU6SEo2l/1+pd4XCsPCzV1PEm+WXP0MWm2TEnjYbD6wBeQaoA5cXCMCt/rNT19lLAL4tZhKeBUJBKln4OrwcPlwVEihBiDC2QDYeEqtlJTGWrYpBECET3Tg3tlBkLWmDf4maYNdDjKLOEbeEl2gZ+vmyNyuO3OrIoIf0Y3ZuDqZtHZl9VQPSacPcAeRJ3KUEO56bP4mT7EgyF44GS2fzRIFnvXfrqqcYPCvS9KSinMXXSXDSa13LpducKJnJK4xQw/7+Ulj1nYiQ31lF561F7RMlLwEssy9X7X46kxMJcO9Hrqn7YVeYT0MAxOCsI1mJV hadoop@vm06
[hadoop@vm06 .ssh]$ 

将每个节点的 authorized_keys 密钥内容汇总到一起, 然后分发到每个节点中去

[hadoop@vm05 .ssh]$ scp authorized_keys vm06:/home/hadoop/.ssh/
The authenticity of host 'vm06 (10.0.0.106)' can't be established.
ECDSA key fingerprint is SHA256:6x51ixbdcREkjq5gPhLOrvwDUoDUWPXUFU0CqE+3E5Y.
ECDSA key fingerprint is MD5:52:99:a2:2e:c9:a1:09:4b:28:48:33:ff:c6:c2:e2:10.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'vm06,10.0.0.106' (ECDSA) to the list of known hosts.
hadoop@vm06's password: 
authorized_keys                                                                                                100% 1180     1.4MB/s   00:00    
[hadoop@vm05 .ssh]$ scp authorized_keys vm07:/home/hadoop/.ssh/
The authenticity of host 'vm07 (10.0.0.107)' can't be established.
ECDSA key fingerprint is SHA256:6x51ixbdcREkjq5gPhLOrvwDUoDUWPXUFU0CqE+3E5Y.
ECDSA key fingerprint is MD5:52:99:a2:2e:c9:a1:09:4b:28:48:33:ff:c6:c2:e2:10.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'vm07,10.0.0.107' (ECDSA) to the list of known hosts.
hadoop@vm07's password: 
authorized_keys                                                                                                100% 1180     1.2MB/s   00:00    
[hadoop@vm05 .ssh]$ 

 切换到hadoop用户的根目录,然后为.ssh目录及文件赋予相应的权限,具体操作如图所示。 

[hadoop@vm06 ~]$ ll -a 
total 12
drwx------  3 hadoop hadoop  74 Nov 13 20:00 .
drwxr-xr-x. 4 root   root    30 Nov 13 19:53 ..
-rw-r--r--  1 hadoop hadoop  18 Nov 25  2021 .bash_logout
-rw-r--r--  1 hadoop hadoop 193 Nov 25  2021 .bash_profile
-rw-r--r--  1 hadoop hadoop 231 Nov 25  2021 .bashrc
drwxrwxr-x  2 hadoop hadoop  38 Nov 13 20:00 .ssh
[hadoop@vm06 ~]$ cd .ssh/
[hadoop@vm06 .ssh]$ ll
total 8
-rw------- 1 hadoop hadoop 1679 Nov 13 20:00 id_rsa
-rw-r--r-- 1 hadoop hadoop  393 Nov 13 20:00 id_rsa.pub
[hadoop@vm06 .ssh]$ cd ..
[hadoop@vm06 ~]$ chmod 700 .ssh/
[hadoop@vm06 ~]$ chmod 600 .ssh/*
[hadoop@vm06 ~]$ ll -a 
total 12
drwx------  3 hadoop hadoop  74 Nov 13 20:00 .
drwxr-xr-x. 4 root   root    30 Nov 13 19:53 ..
-rw-r--r--  1 hadoop hadoop  18 Nov 25  2021 .bash_logout
-rw-r--r--  1 hadoop hadoop 193 Nov 25  2021 .bash_profile
-rw-r--r--  1 hadoop hadoop 231 Nov 25  2021 .bashrc
drwx------  2 hadoop hadoop  61 Nov 13 20:05 .ssh
[hadoop@vm06 ~]$ cd .ssh
[hadoop@vm06 .ssh]$ ll
total 12
-rw------- 1 hadoop hadoop  393 Nov 13 20:05 authorized_keys
-rw------- 1 hadoop hadoop 1679 Nov 13 20:00 id_rsa
-rw------- 1 hadoop hadoop  393 Nov 13 20:00 id_rsa.pub

        登录测试

        使用ssh命令登录hadoop01,第一次登录需要输入yes进行确认,第二次以后登录则不需要,此时表明设置成功,具体操作如图所示。

[hadoop@vm05 .ssh]$ ssh vm06
Last login: Mon Nov 13 21:12:13 2023
[hadoop@vm06 ~]$ ssh vm07
Last login: Mon Nov 13 21:12:14 2023
[hadoop@vm07 ~]$ 

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

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

相关文章

Web后端开发_01

Web后端开发 请求响应 SpringBoot提供了一个非常核心的Servlet 》DispatcherServlet,DispatcherServlet实现了servlet中规范的接口 请求响应: 请求(HttpServletRequest):获取请求数据响应(HttpServletRe…

数据结构 顺序表和链表

1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串.. 线性表在逻辑上是线性结构,也就说是连续的一条直线…

手机厂商参与“百模大战”,vivo发布蓝心大模型

在2023 vivo开发者大会上,vivo发布自研通用大模型矩阵——蓝心大模型,其中包含十亿、百亿、千亿三个参数量级的5款自研大模型,其中,10亿量级模型是主要面向端侧场景打造的专业文本大模型,具备本地化的文本总结、摘要等…

数据可视化模板案例:制造业提高生产力的关键

一、模板背景 在这个信息爆炸的时代,数据对于企业的成功至关重要。制造业作为全球经济的重要组成部分,如何有效利用数据提高生产效率、降低成本、优化决策,已成为行业关注的焦点。 二、方案思路 配⾊ - 科技蓝,贴合⼯业主题。 …

AI大模型低成本快速定制秘诀:RAG和向量数据库

文章目录 1. 前言2. RAG和向量数据库3. 论坛日程4. 购票方式 1. 前言 当今人工智能领域,最受关注的毋庸置疑是大模型。然而,高昂的训练成本、漫长的训练时间等都成为了制约大多数企业入局大模型的关键瓶颈。 这种背景下,向量数据库凭借其独特…

三国杀中的概率学问题3——王荣

前言 本文是三国杀中的概率学问题系列文章中的一篇,将详细讨论王荣吉占的期望摸牌数问题。并加上连续情形作为拓展。 值得说明的是,本文的思路受到了一篇文章的启发,在此特别鸣谢,这是文章的链接。 王荣吉占的期望摸牌数 王荣的…

深入了解JVM和垃圾回收算法

1.什么是JVM? JVM是Java虚拟机(Java Virtual Machine)的缩写,是Java程序运行的核心组件。JVM是一个虚拟的计算机,它提供了一个独立的运行环境,可以在不同的操作系统上运行Java程序。 2.如何判断可回收垃圾…

HarmonyOS开发(一):开发工具起步

1、DevEco Studio 工具下载地址:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 DevEco Studio基础配置 Node.jsOhpm 这两个都可以在进入IDE时在工具上选择下载安装 2、HelloWorld工程 打开DevEco,那么会进入欢迎页,点击Create Project---…

数字三角形模型 笔记

方格取数 走两次的最大值 f[k][i1][i2]来表示 k i1 j1 i2 j2; 每一个状态可由四种状态转换来,分别为 第一条路走下,第二条路走下 第一条路走下,第二条路走右 第一条路走右,第二条路走下 第一条路走右,第二条…

ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机

2023年11月7日,OpenAI举办了首届开发者大会,CEO Sam Altman(山姆奥尔特曼)展示了号称“史上最强”AI的GPT-4 Turbo。它支持长达约10万汉字的输入,具备前所未有的长文本处理能力,使更复杂的互动成为可能。此外,GPT-4 Turbo还引入了跨模态API支持,可以同时处理图片、视频和声音,从…

Layer 2 真的为以太坊扩容了吗?

构建一个安全、对用户友好的去中心化网络的愿景,依赖于关键基础设施的发展。这个愿景由一个共享的经济框架支持,得到了亿万人的拥护。Layer 2 的扩展解决方案在构建这一基础和增强以太坊的能力方面起着至关重要的作用。这些项目相互协作,形成…

Arduino ESP8266使用AliyunIoTSDK.h连接阿里云物联网平台

文章目录 1、AliyunIoTSDK简介2、相关库安装3、阿里云创建产品,订阅发布4、对开源的Arduino ESP8266源代码修改5、使用阿里云点亮一个LED灯6、设备向阿里云上传温度数据7、项目源码 1、AliyunIoTSDK简介 AliyunIoTSDK是arduino的一个库,可以在arduino的…

基于若依的ruoyi-nbcio流程管理系统增加流程设计器支持自定义表单的选择与处理

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 因为之前不支持在流程设计器进行自定义业务表单的关联选择,所以这部分实现这个。 1、前端 对…

域名反查Api接口——让您轻松查询域名相关信息

在互联网发展的今天,域名作为网站的唯一标识符,已经成为了企业和个人网络营销中不可或缺的一部分。为了方便用户查询所需的域名信息,API接口应运而生。本文将介绍如何使用挖数据平台《域名反查Api接口——让您轻松查询域名相关信息》进行域名…

青少年编程学习 等级考试 蓝桥杯/NOC/GESP等比赛资料合集

一、博主愚见 在当今信息技术高速发展的时代,编程已经成为了一种必备的技能。随着社会对于科技人才的需求不断增加,青少年编程学习正逐渐成为一种趋势。为了更好地帮助青少年学习编程,提升他们的技能和素质,博主结合自身多年从事青…

c语言-数据结构-链表分割

链表分割实际上是给定一个值,遍历链表把链表中小于该值的节点与大于该值的节点分开,一般是将小于该值的节点放到链表的前面部分,大于该值的节点放在链表的后面部分。 链表分割示意图如下: 思路: 首先创建两条带哨兵位节…

Java18新增特性

前言 前面的文章,我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17 的特性进行了介绍,对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特性 Java…

JDK并发修改异常的一个“BUG“

很多电商公司早期的架构都是基于PHP,所以我身边会有很多很厉害的PHP老哥,但现在都在写Java。昨天看到他在看Java的并发修改异常,正打算秀一波操作,却被他的一个问题难住了: public class ForeachTest {public static …

数据分析-numpy

numpy numpy numpy简介优点下载ndarray的属性输出数据类型routines 函数ndarray对象的读写操作ndarray的级联和切分级联切分 ndarray的基本运算广播机制(Broadcast)ndarry的聚合操作数组元素的操作numpy 数学函数numpy 查找和排序 写在最后面 简介 nump…

CSS 滚动捕获 scroll-snap-type

scroll-snap-type 语法实例 捕获轴 y 捕获严格程度 mandatory捕获轴 y 捕获严格程度 proximity同理看下捕获轴 x 一些注意事项兼容性 scroll-snap-type 用来指定一个滚动容器(scroll container)是否是滚动捕获容器(scroll snap container)、捕获的严格程度以及在什么方向上执行…