一、SSH无密码登录原理

此操作是为了搭建hadoop集群进行的操作

Master(NameNode|JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode|Tasktracker)上的时候,需要在Master上生成一个密钥对(公钥和私钥),当Master通过SSH连接到Slave的时候,Slave就会生成 一个随机数并用Master的公钥对随机数进行加密,并发送给Master.Master收到加密数值再用私钥解密,并将解密数据回传给Slave,Slave确认解密数据无误之后就允许Master进行连接了,这就是公钥认证过程,期间不需要手动输入密码,重要的是将客户端Master复制到Slave上

二、前期准备

1、安装配置一台master服务器和一台slave服务器

172.128.120.0 localhost.hadoop
172.128.120.1 localhost.slave1

2、配置hosts文件

三、配置master免密登陆slave1

1、在Master机器上成成密钥对,文件默认保存在/home/hadoop/.ssh文件夹下

ssh-keygen:代表生成秘钥

-t:表示指定省的秘钥类型

rsa:秘钥类型

-P:用于提供密语

[-f]:指定生成的秘钥文件,是可选的

2、根据sshd_config中的配置,将公钥文件追加到授权的key里面去

3、查看/etc/ssh/sshd_config文件

4、修改authorized_keys文件的权限,因为权限不对的话不可以使用RSA功能

chmod 600 ~/.ssh/suthorized_keys

5、验证是否可以使用无密码登陆本机

6、将master上的公钥复制到slave1机器上

7、slave1机器上将master上复制来的公钥追加到authorized_keys文件中,并更改文件权限,同理也需要修改sshd_config配置文件

8、验证master无密登陆slave

四、配置slave1免密登陆master

1、slave1上生成秘钥

2、slave1上追加key并修改权限

3、复制slave1上的公钥到master上

4、在master服务器上将slave1的公钥追加到key文件中

5、查看aster的authorized_key文件就可以看到slave1的公钥也加入到其中了

6、验证slave1是否可以无密连接master

【linux系列】配置免密登陆的更多相关文章

  1. Linux配置免密登陆

    可能很多新手在配置免密登陆的时候第一次会经常没有配成功,会报错. 在这里将为大家演示最简洁且能一次配置成功的教程 首先以3台机器为例: 192.168.3.102 master 192.168.3.1 ...

  2. Hadoop用户配置免密登陆

    Hadoop用户配置免密登陆, 参考其他免密配置方法自己总结的更简洁的步骤. 要实现A免密登陆B,需要把A生成的公钥放到B的对应目录下, 要实现ABC之间免密登陆,把3者的公钥汇总到一个文件中, 然后 ...

  3. CentOS7 配置免密登陆

    首先我通过VMware配置了4台机器 然后依次更改每台机器的hosts文件为:   (/etc/hosts) 192.168.32.128 linux1192.168.32.130 linux2192 ...

  4. Ansible配置免密登陆

    0x01:  把远程服务器的公钥来获取到本地 #ssh-keyscan ip1 ip2 ip3 ip4 >> /root/.ssh/known_hosts 完成后,/root/.ssh/k ...

  5. Linux下配置免密登录!

    ssh-keygen  产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ss ...

  6. linux下ssh免密登陆

    如果 有A.B两台主机: 要实现的效果: A主机ssh登录B主机无需输入password: 加密方式选 rsa|dsa均能够.默认rsa 做法: 1.登录A主机 2.ssh-keygen -t [rs ...

  7. shell脚本配置ssh免密登陆

    通过shell脚本配置免密登陆,分为两个脚本,一个是配置文件config.env,一个是正式脚本sshkey.sh. # config.envexport HOST_USER=(root) expor ...

  8. Linux服务器之间免密同步文件、重启R服务

    机器:ML-01/ML-02/ML-03 需求: 1.在ML-01上自动将文件同步至ML-02/ML-03 2.在ML-01上通过脚本重启ML-02/ML-03上的R服务 说明:以下示例中,ML-02 ...

  9. Linux免密登陆配置(互信配置)

    Linux免密登陆配置(互信配置) 1.生成当前用户的秘钥文件 [oracle@localhost .ssh]$ ssh-keygen -t rsa 2.配置远程登录用户的公钥文件 将公钥文件拷贝至另 ...

随机推荐

  1. 114ic电子元器件网

    http://www.114ic.cn/datasheet-pdf/TPA0211DGN-163932.html

  2. 目标检测之rcnn---开启检测新高度优于dpm

    http://www.cnblogs.com/louyihang-loves-baiyan/p/4839869.html http://www.cnblogs.com/louyihang-loves- ...

  3. Java EE的十三个技术规范

    Java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序. 下面,我们一起学习一下J2EE的十三种技术规范. 一.JDBC: ...

  4. Salt-ssh批量自动安装被控端salt-mini

    Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运行salt的一切功能,管理和使用方法基本和salt一样.但是,salt-ssh并没有继承原来的ZeroMQ通讯架构 ...

  5. gitlab的安装和基本维护

    基本介绍 GitLab是一个自托管的Git项目仓库,可以自己搭建个人代码管理的仓库,功能与github类似. 安装 操作系统:CentOS6.5 gitlab官网下载安装地址:https://abou ...

  6. Git的杀手级功能之 一 远程仓库

    Git的杀手级功能之一:远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 一.注册GitHub账号,然后和本地Git仓库来关联免费获得Git远程仓库来学校git的远程仓 ...

  7. DbHelper.ttinclude 更新,查询视图和表

    <#+ public class DbHelper { #region GetDbTables public static List<DbTable> GetDbTables(str ...

  8. php public,static,private,protected,final,const,abstract

    public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. final:PHP 5:不被改,不被继 ...

  9. UNIX环境编程学习笔记(25)——信号处理进阶学习之 sigaction 函数

    lienhua342014-11-05 sigaction 函数跟 signal 函数一样,用于设置信号处理函数.此函数是用于取代 UNIX 早期版本使用的 signal 函数.UNIX 早期版本的 ...

  10. windows 下查看端口占用情况

    windows下面查看端口占用情况: netstat -ano|findstr "8888" TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING 6876 ...