zoukankan      html  css  js  c++  java
  • 【转发】SSH无密码登录的配置



    免责声明:
        本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除。
        原文作者: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退出再试一次,就不需要密码了。

  • 相关阅读:
    Python 重要的字符串处理函数
    Python 字符串类型及相关操作
    Windows 7下Git SSH 创建Key的步骤(by 星空武哥)
    Python 列表类型及相关操作
    Python 字典类型及相关操作
    袁老师Py西游攻关之基础数据类型
    PyCharm2017安装教程,包含注册码
    python安装及语法1
    Ubuntu linux安装ssh server
    soap消息机制 讲解
  • 原文地址:https://www.cnblogs.com/sdjnzqr/p/3860538.html
Copyright © 2011-2022 走看看