Hadoop 完全分布式ssh免密码设置

来源:互联网 发布:mac系统怎么更新不了 编辑:程序博客网 时间:2024/06/11 14:04

大家在进行Hadoop完全分布式搭建时经常会碰见ssh免密码登录的问题,在这里我给大家说一下我成功的案例

首先说一下 这里面碰到的公钥和私钥。

     (一)公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。实现如下目的:

        (1)我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。
        (2)必须保证是我发送的邮件,不是别人冒充我的。

    (二)公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。

     (三)数字证书的原理

   数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时 设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使 用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密. 在公开密钥密码体制中,常用的一种是RSA体制。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。

      其实我个人理解,就是把你主节点master的~/.ssh中的id_rsa.pub(公钥)复制到各个从节点slave中,然后保存在authorized_keys(数字证书)中,然后你就能从从节点slave中访问主节点master了。同理,你把从节点的id_rsa .pub复制到主节点master中的authorized_keys中,你就能从主节点master访问从节点slave了。把自己的公钥放进authorized_keys 中 就能访问自己的。

下面是一些具体的步骤:

1、设置一下主机名 和IP

vi /etc/hosts


2、vi /etc/hostname


3、进去~/.ssh

vi ~/.ssh

执行ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  然后一路空格下去,然后ls就能看见:


执行cat id_rsa .pub >> authorized_keys

然后ls


以上步骤在每个虚拟机都执行一遍,然后进行下面的步骤

在master中执行scp id_rsa.pub slave1的ip:~/.ssh/autuorized_keys

进入slave1中 cat id_rsa.pub >> authorized_keys 

查看authorized_keys

vi authorized_keys


设置一下权限  chmod 700 ~/.ssh        chmod 600 authorized_keys

有两个不同的公钥。现在你就能从从节点slave1访问主节点master了  执行ssh master(或IP)    就可以进去master的目录中  输入exit就可以退出

另外因为authorized_keys 中具有你自己的公钥,所以 ssh localhost  就可以访问自己。


从  主节点访问从节点  同理

在从节点slave1中  scp id_rsa.pub master的IP:~/.ssh/authorized_keys

进入master    cat id_rsa.pub >> authorized_keys

查看authorized_keys

vi authorized_keys


然后设置权限  chmod 700 ~/.ssh     chmod 600 authorized_keys

执行ssh  slave1(或IP)   即可以进入slave1 的目录下


到这里ssh免密码登录设置就算结束了



0 0
原创粉丝点击