• 配置Ssh免密码登录


    配置Ssh免密码登录

    一个master节点,两个client节点(client1、client2)

    1.所有节点创建hadoop用户,并设置密码

    以root账号登录:

    useradd hadoop

    passwd hadoop

    2.设置Master节点用hadoop账号免密码登录本机

    以hadoop账号登录,执行以下命令:

    ssh-keygen –t rsa

    直接回车,运行后访问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa(私钥)和id_rsa.pub(公钥),默认存储在"/home/hadoop/.ssh"目录下。

     [hadoop@namenode1 .ssh]$ pwd
    /home/hadoop/.ssh
    [hadoop@namenode1 .ssh]$ ls
    id_rsa  id_rsa.pub

    2.1 把id_rsa.pub(公钥)追加到授权密钥文件里

    hadoop用户登录:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    或是进入.sh目录下,直接cp id_rsa.pub authorized_keys

    2.2 用root用户登录修改SSH配置文件"/etc/ssh/sshd_config"的下列内容

    检查下面几行前面"#"注释是否取消掉:

    RSAAuthentication yes # 启用 RSA 认证

    PubkeyAuthentication yes # 启用公钥私钥配对认证方式

    AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径

     

    修改完后,重启ssh服务生效:

    service sshd restart

     

    2.3 测试hadoop用户是否能够不用密码直接登录

    root先切换到hadoop账号,su - hadooop

    然后hadoop用户执行 ssh localhost

    如果不用输入密码,则设置成功。

     hadoop用户执行sudo su - 不需要输入密码,直接切换到root账号

    [hadoop@namenode ~]$ sudo su -
    [root@namenode ~]# 
    [root@namenode ~]# who
    root     pts/0        2016-03-23 23:18 (192.168.1.100)
    [root@namenode ~]# 
    

    3.配置master、Client1和client2能相互免密码ssh登录

    3.1 client2和client2生成公钥并上传到master服务器

    用hadoop账号登录Client1和client2;

    分别执行这个个命令,并分别把自己的公钥传到master服务器

    登录client1和client2执行:ssh-keygen –t rsa

    登录client1上传公钥master:

    Scp /home/Hadoop/.ssh/id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pubClient1

    登录client2上传公钥到master:

    Scp /home/Hadoop/.ssh/id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pubClient2

     

    3.2 把client1和client2的公钥添加到master服务器上的authorized_keys这个文件里

     Cat id_rsa.pubClient1 >> authorized_keys

     Cat id_rsa.pubClient2 >> authorized_keys

    这样authorized_keys文件里就包含了master、client1和client2的hadoop用户的公有密钥,再把这个文件上传到client1和client2对应的目录下。

     

    4. 验证

    在其中一台服务器上可以使用ssh hadoop@ip或主机名的方式登录到另外两台服务器上,不需要输入密码。 

    5. 使用root账号修改sudoers配置文件

    vi /etc/sudoers --root账号修改,增加以下两项

    hadoop ALL=(ALL) ALL

    hadoop ALL=(ALL) NOPASSWD: ALL

  • 相关阅读:
    C# 字符串相似度算法
    在C# 中枚举COM对象的方法和属性名称
    question:读取以TAB为分隔符CSV文件时遇到的问题
    WCF文件传输
    C#读写XML的演示程序(1)
    C#解析HTML 的两种方法
    在C#中使用MSHTML的高级支持接口
    XML读写演示程序(2)
    聊天程序WMChat开发文档
    数据表之间的链接
  • 原文地址:https://www.cnblogs.com/rusking/p/5285867.html
Copyright © 2020-2023  润新知