Linux设置ssh免密码登录

一、SSH来源

对于需要远程管理其它机器,一般使用远程桌面或者telnet。linux一般只能是telnet。但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问。

为解决这个问题,推出了通信加密通信协议,即SSH(Secure Shell)。使用非对称加密方式,传输内容使用rsa或者dsa加密,可以避免网络窃听。

hadoop的进程之间同信使用ssh方式,需要每次都要输入密码。为了实现自动化操作,需要配置ssh免密码登陆方式。

二、ssh原理


步骤详解:

图中黑色步骤线见“三、配置”

绿色步骤线:

weekend110访问spark01

1、weekend110带上自己的用户名和域名向spark01请求登录。

2、spark01收到后,查看免密登录授权列表,查看里面是否有weekend110对应的公钥。

3、spark01找到公钥后,随机生成一个字符串用weekend110对应的公钥进行加密,发给weekend110.

4、weekend110收到spark01的密文,用自己的私钥进行解密,获得一个明文。

5、weekend110将解密结果发送给spark01.

6、spark01验证weekend110发来的明文与之前生成的随机字符串核对。

7、一致则spark01通过weekend110的登录请求。


三、配置

三个节点m1主、s1、s2

主节点m1配置:

首先到用户主目录(cd  ~),ls  -a查看文件,其中一个为“.ssh”,该文件价是存放密钥的。待会我们生成的密钥都会放到这个文件夹中。

----------------------------------
现在执行命令生成密钥: ssh-keygen -t rsa (使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。即回车四下。

----------------------------------
进入文件夹cd  .ssh (进入文件夹后可以执行ls  -a 查看文件) 

创建文件 authorized_keys。命令touch authorized_keys

修改authorized_keys文件权限为 600,命令:chmod 600 authorized_keys


将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置:

s1,s2以同样的方式生成秘钥(ssh-keygen -t rsa ),然后s1和s2将生成的id_rsa.pub公钥追加到m1authorized_keys中)

----------------------------------

在s1中执行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1,将s1的公钥copy到m1上。

在s2中执行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2,将s2的公钥copy到m1上。

---------------------------------
进入m1执行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys。将s1,s2的公钥加入m1的authorized_keys文件中。

----------------------------------

最后将生成的包含三个节点的公钥的authorized_keys 复制到s1和s2的.ssh目录下

( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)

这样三个节点的authorized_keys 都有了自身节点的公钥和其他节点的公钥,如此节点间和节点自身都可以互相ssh免密码登录,启动hadoop时可以不用输入密码了。


*****************************************************

以上的配置方法是 两台机器可以互相ssh免密登录。

但有时候只想S1免密登录S2,反之则不可以。怎么办?

用ssh-copy-id  域名  这个命令。

操作:

在S1生成ssh秘钥后。

在S1上输入命令:

ssh-copy-id  S1   //先把自己的公钥拷贝到自己机子上

ssh-copy-id  S2   //把自己的公钥拷贝到S2的机子上。S2不需要用ssh-keygen


四、验证ssh免密码登录

输入命令ssh  localhost(主机名) 根据提示输入“yes” 
输入命令exit注销(Logout)
再次输入命令ssh localhost即可直接登录


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

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

相关文章

解析json数据_Retrofit同时解析JSON和XML数据格式

前言Android开发中,我们会经常遇到前端需要解析两种数据格式(json和xml),比如自己服务器返回的是json格式的数据,我们做微信登录的时候,微信返回的格式又是xml格式的。我们可以通过自己编写Retrofit的ConverterFactory来做到可以同时解析两种…

jenkins+svn+maven+ssh 部署配置详细记录

2019独角兽企业重金招聘Python工程师标准>>> 先简单记录一下,后面再慢慢完善。 1、环境 jdk 1.7.0_45 maven 3.1.1 jenkins 2.3.21 jdk和maven的安装就不必多说了,主要是jenkins的安装需要说下,jenkins有war包和yum还有rpm等安装方…

Oracle 创建 DBLink 的方法

原文出处:http://blog.csdn.net/davidhsing/article/details/6408770 ------------------- 1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: [c-sharp] view plaincopy print?select * from user_sys_privs where privi…

c++ 复制构造函数_C++学习刷题8--复制构造函数和赋值运算符重载函数

一、前言本部分为C语言刷题系列中的第8节,主要讲解这几个知识点:复制构造函数和赋值运算符重载函数。欢迎大家提出意见、指出错误或提供更好的题目!二、知识点讲解知识点1:复制构造函数1、当依据一个已存对象创建一个新对象时&…

ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下

原文:http://blog.csdn.net/liangweiwei130/article/details/37882503 ------------------------------------------------- 在做项目的过程中,一个页面使用类似如下的SQL查询数据,为了保密和使用方便,我把项目中有关的表名和字段…

面试题333

2019独角兽企业重金招聘Python工程师标准>>> 面试题333 博客分类: java 1、spring的缓存,mybatis缓存2、介绍下dubbo。A服务调用B服务,B服务又调用C服务,这种情况怎么办3、JVM监控工具有哪些,区别又是什么(如能追上各个…

xpath选择当前结点的子节点

2019独角兽企业重金招聘Python工程师标准>>> xpath选择当前结点的子节点 博客分类: 搜索引擎,爬虫 在通过selenium使用xpath选择节点的时候,可能会遇到这么一种情况:在指定的当前节点下搜索满足要求的节点。 node dri…

Spark 独立部署模式

2019独角兽企业重金招聘Python工程师标准>>> Spark 独立部署模式 博客分类: spark 除了在 Mesos 或 YARN 集群上运行之外, Spark 还提供一个简单的独立部署的模块。你通过手动开始master和workers 来启动一个独立的集群。你也可以利用我们提供的脚本 .…

spring boot 1.5.4 定时任务和异步调用(十)

1 Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。 spring boot定时任务spring-boot-jsp项目源码&#…

MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?

问 题原料两张表,一张user表,一张user_log表(这个例子举的不好)CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) DEFAULT NULL,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8;CREATE TABLE user_log (id int(10) NOT NU…

你真的了解iOS怎么取属性的吗?

你真的了解iOS怎么取属性的吗? 本文来自CocoaChina粉丝FlyOceanFish投稿如果iOS中谈到取属性,相信大家都会夸夸其谈,不就是get方法吗?或者大谈kvc取属性的机制。不得不说这些也是对的。这时大家可能就疑惑了,那你还要说…

10年老兵给程序员的10条建议!

2019独角兽企业重金招聘Python工程师标准>>> 程序员虽然薪资待遇好,但是也得付出努力,技术好才行。特别是对于刚刚进入编程工作的新手程序员和正在学习编程的同学来说,一写代码就报错,出bug。作为一个工作了10年的老兵…

2017阿里技术年度精选(全)

2019独角兽企业重金招聘Python工程师标准>>> 2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出世、三年投入千亿的达摩院正式成立…… 这…

查询Oracle正在执行的sql语句,锁表,解锁

原文出处:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行的sql语句及执行该语句的用户 [sql] view plaincopy SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, …

xampp for mac mysql_xampp for mac下载-Xampp Mac版下载 V7.3.2-PC6苹果网

Xampp for mac是目前时下最流行的PHP开发环境,XAMPP是完全免费且易于安装的Apache发行版,其中包含MySQL、PHP和Perl。XAMPP开放源码包的设置让安装和使用出奇容易。整合型的Apache套件。XAMPP包括Apache、MySQL、PHP、PERL,直接解压缩&#x…

15.2. important

<para><important>Text goes here.</important></para>重要Text goes here.原文出处&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陈景峯 转载请与作者联系&#xff0c;同时请务必标明文章原始出处和作者信息及本声明。

linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为...

我正在计算一个线性系统Ax b的解决方案&#xff0c;其中A具有一个大的(通常200,000行和相关的密集矩阵的列)稀疏矩阵和ba稀疏矩阵&#xff0c;大约100列。当我在Windows系统上运行代码(Python2.7&#xff0c;scipy0.14.0)时&#xff0c;以下命令fromscipy.sparse.linalgimport…

简简单单的代码让你轻松学会 动态代理

原文出处&#xff1a;http://weixiaolu.iteye.com/blog/1477774 -------------------------------------------------------------------------- 简简单单的代码让你轻松学会动态代理 前言&#xff1a; 最近一直在分析hadoop的RPC机制。在hadoop中&#xff0c;DataNode和Na…

Adobe软件打开后设置默认页面方式和默认鼠标方式

PDF文件打开后是默认显示&#xff0c;与显示器比例不协调&#xff0c;或大或小&#xff0c;总是需要手动调节阅读方式&#xff0c;解决方法如下&#xff1a; Adobe软件中可以设置默认页面方式&#xff0c;具体步骤如下&#xff1a; 编辑 (Edit)-首选项(Preferences)-辅助工具…

CSS深入理解学习笔记之vertical-align

1、vertical-align基本认识 支持的属性值&#xff1a; ①线类&#xff1a;baseline&#xff08;默认&#xff09;&#xff0c;top&#xff0c;middle&#xff0c;bottom ②文本类&#xff1a;text-top&#xff0c;text-bottom ③上标下标类&#xff1a;sub&#xff0c;super ④…