zoukankan      html  css  js  c++  java
  • linux 添加ssh免密登录

    环境:

      usera:192.168.0.1

      userb:192.168.0.2

    客户端创建密钥文件:

     <1>查看是否安装了ssh

              一般情况下,系统都自带有ssh,查看ssh是否安装命令:ssh -version,

           

             如果没有安装ssh,在命令行下输入:yum install ssh进行安装,可以参考下面的博文

             http://www.cnblogs.com/alaska1131/articles/1659654.html

      <2>在客户端节点创建密钥文件

                    查看客户端节点是否已经创建了密钥文件,我们一usera为例。打开命令行,输入以下

              指令: ls ~/.ssh,查看是否有密钥存在。

         

        发现没有密钥文件,也就是没有公钥(id_rsa.pub)和私钥(id_rsa)在usera上面创建密钥,打开命令行,输入以下指令:ssh-keygen -t rsa,注意,这个命令行ssh 和 -keygen中间没有空格,如果写成ssh -keygen -t rsa,会报错误:

              Bad escape  character 'ygen'

              

        输入完ssh-keygen - rsa后,一直默认Enter下去,密码为空就行。如下图所示,说明生成密钥成功

              

     然后,继续在命令行下输入ls ~/.ssh,查看是否多了两个文件(id_rsa.pub和id_rsa)

               

      好,到这里,客户端节点的密钥文件已经创建完成,按照上述方法,依旧在userb节点上一次创建密钥文件。

    5.将各客户端节点的公钥写入centosNameNode中

       <1>将usera自己的公钥写入到自己的~/.ssh/authorized_keys中

              打开命令行,输入

    cd ~/.ssh                               #切换目录到~/.ssh下
     
    ls                                      #再次确认是否有密钥
     
    cat id_rsa.pub >> authorized_keys       #将公钥写入

    在命令行下输入vi ~/.ssh/authorized_keys,发现公钥已经写入了

    OK,然后,就是修改sshd以及上面所提到的authorized_keys以及目录~/.ssh权限的修改  

    chmod 700 ~/.ssh
     
    chmod 600 ~/.ssh/authorized_keyschmod 700 ~/.ssh
     
    chmod 600 ~/.ssh/authorized_keys

    <3>验证自己ssh自己

              打开命令行,输入:

              ssh 192.168.0.1                  #usera的ip

              发现并没有要求输入密码,而是自动登陆了,说明自己的配置成功了,事实上Hadoop的伪分布式模式就是自己远程登陆自己

    <4>将其他两个节点的公钥加进来

              登录到userb,进入到命令行,输入:

    cd ~/.ssh                         #进入到ssh目录下面
    
    ls                                #检测目录下面是否有密匙
    
    scp id_rsa.pub usera@192.168.0.1:/home/roboson      #将文件传递到Ip地址为
                                                        #192.168.0.1(usera)
                                                        #/home/roboson目录下

    然后,登录到usera上,查看是否收到,输入指令:

    cd /home/roboson                      #切换目录
    
    ls                                    #查看目录下的文件

    然后,将公钥写入到centosNameNode的~/.ssh/authorized_keys文件中,打开命令 行,输入指令:

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

    然后,输入vi ~/.ssh/authorized_keys指令,发现文件中又多了一堆数字

    接下来,重启sshd(上面有),登录到usera,然后,在usera中,用ssh远程登陆到usera中,看是否需要密码验证

    有的时候,会报这样的错

    Agent admitted failure to sign using the key

    解决方法:

    在当前用户下执行命令:

    ssh-add

    然后,利用同样的方法,将userb的公钥也加入。

  • 相关阅读:
    荧光机理的应用——光学式农药测量技术及系统设计
    滤光片应用——红外吸收粉尘传感器的设计
    磁靶向纳米Fe3O4-TiO2复合物对肝癌细胞的光催化杀伤效应研究
    常用荧光染料的激发波长和发射波长
    光害
    一文解读虚拟化服务器
    一文解读PRA
    主数据建设的挑战与发展
    数字孪生技术变革
    intellij idea:配置maven 3.8.2(intellij idea 2021.2)
  • 原文地址:https://www.cnblogs.com/Tang-Yuan/p/11971138.html
Copyright © 2011-2022 走看看