关于hadoop ssh免密码登录

今天在学习hadoop的时候碰到一个想不通的问题,就是免登录的原理以及配置,下面给大家分享下我的理解

1 主服务器:

修改主机名,并且加入本机的主机名和从服务器的主机名的host解析

[[email protected] ~]# more /etc/hosts

127.0.0.1   localhost.localdomain localhost localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

masterip hadoop.master //masterip主服务器IP

slaveip hadoop.slave  //slaveip从服务器IP

[[email protected] ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hadoop.master

reboot重启系统

从服务器:

修改主机名,并且加入本机的主机名和从服务器的主机名的host解析

[[email protected] ~]# more /etc/hosts

127.0.0.1   localhost.localdomain localhost localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

masterip hadoop.master //masterip主服务器IP

slaveip hadoop.slave  //slaveip从服务器IP

[[email protected] ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hadoop.slave

reboot重启从服务器

ssh测试

主服务器用命令

ssh [email protected]测试,如果有提示输入密码,表明能解析到从服务器的主机名,如果没有安装ssh,可以用命令

yum list | grep ssh先查看ssh client的版本,

然后用命令yum -y install openssh-clients-5.3p1-123.el6_9.x86_64安装对应版本的ssh clients

2主服务器配置公钥和密钥用于免密码登录

主服务器

[[email protected] ~]#ssh-keygen -t rsa

摁下回车之后会有一堆提示,接着敲回车知道完成就可以了,最后会屏幕会显示一堆指纹之类的东西

id_rsa是私钥,id_rsa.pub是公钥,将生成的公钥复制到authorized_keys中,authorized_keys用于认证

[[email protected] ~]#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

复制公钥到从服务器,替换掉从服务器的认证文件

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

!注意这里复制一定建议用ssh-copy-id来复制公钥,我之前试过用scp来复制,结果发觉服务器重启之后再次连接要输入密码

第一次连接从服务器

ssh hadoop.slave

The authenticity of host ‘hadoop.slave (210.72.3.225)‘ can‘t be established.

RSA key fingerprint is 5e:84:cf:22:61:2c:e7:f3:69:1d:92:fe:a8:65:95:30.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘hadoop.slave,210.72.3.225‘ (RSA) to the list of known hosts.

Last login: Fri May 11 16:00:41 2018 from hadoop.slave

发觉已经不用输入密码就可以登录了

接下来说下这个公钥私钥解密的过程:

1主服务器向从服务器发送连接请求

2从服务器收到请求之后,在authorized_key中查找,authorized_key里面存放的是主服务器的公钥,那么会用主服务器的公钥进行加密,并且将其发送给主服务器

3主服务器收到加密信息后,用自己的私钥对其进行解密,将解密的数字发送给从服务器

4由于从服务器存放的是主服务器对应的公钥,因此和主服务器的解密的字符串一定是想吻合的,这样子就实现了免密码登录

这就是为什么公钥要用来加密,而只有私钥能用来解密,从服务器得到了公钥只要将其加密的功能,而主服务器有对应的私钥,所以只有主服务器才有解密验证的功能

原文地址:https://www.cnblogs.com/qfdsj/p/9056805.html

时间: 2024-08-26 01:46:28

关于hadoop ssh免密码登录的相关文章

Hadoop分布式模式下SSH免密码登录

1.Hadoop中为什么要配置免密码登录 最近在学习Hadoop,在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录. 2.环境 Hadoop中有三个节点,分别是centosNameNode,centosDateNode1,centosDateNode2,我们现在要实现

安装Hadoop系列 — 安装SSH免密码登录

配置ssh免密码登录 1) 验证是否安装ssh:ssh -version显示如下的话则成功安装了OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013Bad escape character 'rsion'.否则安装ssh:sudo apt-get install ssh 2)ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成

Linux下SSH免密码登录(转)

搭建hadoop集群的时候一定会用到的就是SSH免密码登录 [[email protected] ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Yo

ssh免密码登录、secureCRT免密码登录详解

再放一张真机实现图: 接下来就详细讲述实现细节. 实现过程中吃了不少苦头,这个不对,那个不通.好在慢慢一点点摸索出来了,经验分享在这里. 希望能终结网上ssh免密码登录,以及SecureCRT免密码登录的问题.如有错误,欢迎指出!转载请注明出处,谢谢! 首先,明确一个目的:各主机之间免密码登录.CRT免密登录其他主机.直接输入ssh 主机名,就能直接登录到指定的主机上.为什么上述没有实现Master与其他主机间的免密码登录?是为了跟免密登录作一个对比.好,闲言少叙,先看第一个话题,各主机间的免密

RedHat设置SSH免密码登录

如果我们需要远程管理其他机器的话,一般使用远程桌面或者telnet.linxu服务器几乎都是命令行,所以只能使用telnet了.telnet的缺点是通信不加密,非常不安全,只适合于内网访问.为解决这个问题,推出了加密的通信协议,即SSH.SSH的全称是Secure Shell,使用非对称加密方式,传输内容使用rsa或者dsa加密,可以有效避免网络窃听. hadoop的进程之间通信使用ssh方式,需要每次都要输入密码.为了实现自动化操作,我们下面配置SSH的免密码登录方式. 下面的图展示了SSH免

Redhat下SSH免密码登录步骤

Redhat下SSH免密码登录步骤: 被登录端: # mkdir /root/.ssh 另需禁用selinux(需重启服务器),否则会失败 # vi /etc/selinux/config SELINUX=disabled  (默认为:SELINUX=enforcing) :wq 登录端: # ssh-keygen 路径为默认 密码可为空 # mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys # scp ~/.ssh/authorized_keys [ema

CentOS 6.4 SSH 免密码登录

在配置apache集群分布时,要使用SSH免密码登录.假设现在有两台机器[email protected](192.168.1.100)作为svn机,[email protected](192.168.1.101)作为app机.现在想[email protected]通过ssh免密码登录到[email protected]. 1.在svn机下生成公钥/私钥对. [[email protected] ~]$ ssh-keygen -t rsa -P '' 敲击回车键即可,它在/home/apach

SSH 免密码登录——批量分发服务器

需求:nfs服务器兼做批量分发服务器.backup备份服务器.mb01服务为批量分发的客户端.通过NFS服务器讲编辑好的hosts文件批量分发到备份服务器和mb01服务器的./etc/下.使内网环境可以使用/etc/hosts 文件做正向.反向的域名解析. 由于root具有最大的权限,所以不建议使用root用户进行SSH免密码登录,而是在所有的机器上建立相同的普通用户,通过普通用户的SSH免密码登录,使用scp 命令将hosts文件分发到客户端的该普通用户的家目录下.在各客户端为该普通用户通过s

Linux下SSH免密码登录

转自:http://haitao.iteye.com/blog/1744272 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执行如下: 1. $cd ~/.ssh 2. $ssh-keygen -t rsa  --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中. 3. $cp id_rsa.pub author