zoukankan      html  css  js  c++  java
  • 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop

    http://inuyasha1027.blog.51cto.com/4003695/1132896/

    主机ip:192.168.163.100(hostname: node0)

    ssh无密码登陆的远程机ip:192.168.163.101(hostname: node1)

    首先要修改主机 和ssh连接到的远程机 的配置文件:

    vi  /etc/ssh/sshd_config

    (要确保这些字符前无注释符号“#”)

    RSAAuthentication  yes

    PubkeyAuthentication yes

    AuthorizedKeysFile  .ssh/authorized_keys

    PasswordAuthentication yes

    PeimitEmptyPasswords yes

    1.在本地机上输入命令: ssh-keygen -t rsa

    2.接着一路按回车,默认情况下ssh生成的公密钥会被存储到

    /root/.ssh

    这个文件夹下,分别为id_rsa 和id_rsa.pub

    ps:如果hadoop用户登录,因为hadoop用户初始登录进去的目录就是hadoop用户的根目录,那就在home/hadoop下面做这件事,这就是网上有的说在root/.ssh和home/hadoop/.ssh的区别

    3.在本地机上创建文件 authorized_keys

    touch /root/.ssh/authorized_keys

    并将公钥追加到authorized_keys文件中:

    cat id_rsa.pub >> authorized_keys

    4.在远程主机上创建了文件夹及文件如下:

    /root/.ssh/authorized_keys

    5.修改文件夹/root/.ssh的权限:

    (本地机和远程机都要修改)

    chmod 700 /root/.ssh

    6.修改文件的属性:

    chmod 600 /root/.ssh/authorized_keys

    7.将公钥复制到ip地址为192.168.163.101的远程机上:

    ssh-copy-id  -i  /root/.ssh/id_rsa.pub  root@192.168.163.101

    笔者在输入命令时已经在远程主机上创建了文件夹及文件如下:

    /root/.ssh/authorized_keys

    并且,已经按上文修改了权限/.ssh (700)  /.ssh/authorized(600)  

    (实践证明在传送公钥时,这个命令好于scp命令 )

    8.在本地机上执行命令:

    ssh-add  /root/.ssh/id_rsa

    这个是为了将公钥添加进来。

    9.重新启动ssh服务:

    service sshd restart

    10. 在本地主机上输入:

    ssh node1(回车)

    即可登录到远程主机上了。

    ps:文件夹路径或是文件名根据个人的配置而有所不同,

    需要根据具体情况进行更改。

    不对文件夹及文件修改权限和没有执行ssh-add命令

    都会引起设置之后远程登陆仍需要输入密码的情况。

    当然,也要注意对配置文件进行设置及修改。

    good luck ~

    ================================================================

    将公钥拷贝到服务器的~/.ssh/authorized_keys文件中方法有如下几种:
    1、将公钥通过scp拷贝到服务器上,然后追加到~/.ssh/authorized_keys文件中,这种方式比较麻烦。scp -P 22 ~/.ssh/id_rsa.pub user@host:~/。
    2、通过ssh-copyid程序,就是我演示的方法,ssh-copyid user@host即可,但是这种方式不支持更改端口号(我没找到)。该程序常见发行版linux自带无需安装,其实该程序为一个脚本。
    3、可以通过cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host ‘cat >> ~/.ssh/authorized_keys’,这个也是比较常用的方法,因为可以更改端口号。

  • 相关阅读:
    Qt5.3.2(VS2010)_调试_进入Qt源码
    Qt5.3.2(VS2010)_调试_遇到的问题
    Qt_QString::split测试
    Qt_QString.indesOf和mid测试
    激活_目标窗口
    DrawDibDraw__ZC测试
    【转】DrawDibDraw
    数学运算_基本_01
    get和post请求及进程和线程及cookie和session的区别
    Redis性能优化之redis.cnf配置文件
  • 原文地址:https://www.cnblogs.com/xiaodoujiaohome/p/6216162.html
Copyright © 2011-2022 走看看