免责声明:
    本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除。
    原文作者:http://cn.soulmachine.me/
    原文地址:http://cn.soulmachine.me//blog/20120102/

根据公钥加密的思想,如果机器A想无密码登录其他N台机器,只需要在自己机器上生成一对公钥和密钥,然后把密钥给这N台机器,这样,这N台机器,有了A的公钥,就可以解密A的数据包,跟A正常通信了。

通常在一个集群中,我们会选择一台机器作为跳板机,在这台机器上登录其他机器,因此,无名需要在跳板机上生成一对公钥和密钥。一般的,我们也会把跳板板机作为整个集群的master,例如Hadoop的NameNode,因此最好选一台内存比较大的机器作为跳板机。

下面详细讲解如何配置从跳板机SSH无密码登录到所有机器(包括自己)。

根据公钥加密的思想,如果机器A想无密码登录其他N台机器,只需要在自己机器上生成一对公钥和密钥,然后把密钥给这N台机器,这样,这N台机器,有了A的公钥,就可以解密A的数据包,跟A正常通信了。

通常在一个集群中,我们会选择一台机器作为跳板机,在这台机器上登录其他机器,因此,无名需要在跳板机上生成一对公钥和密钥。一般的,我们也会把跳板板机作为整个集群的master,例如Hadoop的NameNode,因此最好选一台内存比较大的机器作为跳板机。

下面详细讲解如何配置从跳板机SSH无密码登录到所有机器(包括自己)。

前提: 修改hosts文件

假设有三台机器,192.168.1.131, 192.168.1.132, 192.168.1.133,hostname分别是master, slave01, slave02

1.在master上生成一对公钥和密钥

dev@master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2. 将公钥拷贝到自己

dev@master:~$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

3. 将公钥拷贝到其他机器

dev@master:~$ scp ~/.ssh/id_dsa.pub dev@slave01:~
dev@master:~$ scp ~/.ssh/id_dsa.pub dev@slave02:~
#追加到authorized_keys
dev@master:~$ ssh slave01
dev@slave01:~$ mkdir .ssh
dev@slave01:~$ cat id_dsa.pub >> .ssh/authorized_keys
dev@slave01:~$ exit
dev@master:~$ ssh slave02
dev@slave02:~$ mkdir .ssh
dev@slave02:~$ cat id_dsa.pub >> .ssh/authorized_keys
dev@slave02:~$ exit

4. 设置.ssh目录和authorized_keys文件的权限

在被登录的每台机器上,执行如下命令:

chmod 755 .ssh
chmod 600 ~/.ssh/authorized_keys

5. 测试一下

#在 master执行
dev@master:~$ ssh slave01

第一次还是需要密码的,exit退出再试一次,就不需要密码了。

【转发】SSH无密码登录的配置的更多相关文章

  1. CentOS 下SSH无密码登录的配置

    CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...

  2. CentOS下SSH无密码登录的配置

    1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符"#" RSAAuthentication ...

  3. ssh-key生成密钥及SSH无密码登录的配置

    文章作者:foochane  原文链接:https://foochane.cn/article/2019061601.html 1 ssh-keygen命令 ssh-keygen命令说明: -t :指 ...

  4. CentOS配置ssh无密码登录

      CentOS配置ssh无密码登录的注意点   前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service s ...

  5. Ubuntu 安装 SSH server 并配置 SSH 无密码登录

    https://hinine.com/install-and-configure-ssh-server-on-ubuntu/ Ubuntu 安装 SSH server 并配置 SSH 无密码登录 发表 ...

  6. 集群之间配置 SSH无密码登录

    集群之间配置 SSH无密码登录 配置 ssh (1)基本语法 ssh 另一台电脑的 ip 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 # ss ...

  7. 配置SSH无密码登录【原著】

    环境:两台Centos虚拟机,配置了静态的ip.(详见虚拟机如何配置静态的IP地址的操作步骤) 192.168.75.21192.168.75.22 第一步:为每台服务器配置静态IP地址参见: 虚拟机 ...

  8. 普通用户ssh无密码登录设置

    这段时间在做Hadoop的环境配置,用root用户只需要按照一定的步骤进行操作就可以直接实现无密码登录,但如果使用新建用户,怎么尝试都不行. 本帖大部分都是其他人帖子的内容.如果按照下面的步骤还是不能 ...

  9. ssh 无密码登录

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想 ...

随机推荐

  1. spring3+struts2+hibernate3整合出现的问题,No mapping found for dependency [type=java.lang.String, name='struts.objectFactory.spring.enableAopSupport']

    七月 11, 2016 3:49:24 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule ...

  2. a标签替代input的submit提交功能

    在工作中有时候会遇到A标签,但是提交表单的时候我们需要用到submit来提交表单,下面几行代码很好的解决了这个问题! <div class="btn"><a hr ...

  3. OpenGL第18,19,20讲小结

    18讲是通过调用库函数画一些简单的二次几何体,比如球体.圆锥体.圆盘等等. 19讲简单的讲了下粒子系统.其实就是三角形贴上星星的纹理,通过启用混合(GL_BLEND)来达到一种动态的粒子效果.通过修改 ...

  4. CentOS6.4下使用默认的PDF文档阅读器出现乱码的解决方案

    方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如下: 1: <?xml version="1.0"?> 2: <!DOC ...

  5. MTD技术介绍

    MTD(Memory Technology device)是用于访问memory设备(ROM.Flash)的Linux子系统,在Linux中引入这一层的主要目的是为了更加简单的添加新的Memory存储 ...

  6. 设置textview显示框内容不可编辑不可选择。

    f1textview.allowsEditingTextAttributes=NO;////////////设置不可编辑不能用这个,得用下面的一个 textView.editable=NO;//设置可 ...

  7. 淘宝店铺应用android源码

    一个淘宝店铺的app 界面模仿蘑菇街 完结版很多朋友想知道web端 我发上来 是用thinkphp框架 懂的同学拿去研究 ,之前做的前台 现在基本上不能用 就看个后台就好了 也比较简单 我放上来 大家 ...

  8. Centos(Linux) 根文件系统

    /下面的文件 /boot:系统启动相关的文件:如内核,inittrd ,以及MBR grub /dev :设备文件: 块设备:随机访问,数据块 如:USB 字符设备:线性访问,按字符为单位如:鼠标,按 ...

  9. align=absMiddle属性设置

    AbsBottom 图像的下边缘与同一行中最大元素的下边缘对齐.AbsMiddle 图像的中间与同一行中最大元素的中间对齐.Baseline 图像的下边缘与第一行文本的下边缘对齐.Bottom 图像的 ...

  10. NaN属性,isNaN函数

    NaN:Not a Number,顾名思义,表示不是一个数字. 可以把 Number 对象设置为该值,来指示其不是数字值. 使用 isNaN() 全局函数来判断一个值是否是 NaN 值 详见 Java ...