zoukankan      html  css  js  c++  java
  • linux_无秘登录问题(不生效)

    1 、 登录1,执行命令 ssh-keygen -t rsa 之后一路回 车,查看刚生成的无密码钥对: cd .ssh 后 执行 ll


    2 、把 id_rsa.pub 追加到授权的 key 里面去。 执行命令 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys


    3 、修改权限: 执行 chmod 600 ~/.ssh/authorized_keys


    4 、确保 cat /etc/ssh/sshd_config 中存在如下内容


    RSAAuthentication yes
     
    PubkeyAuthentication yes
     
    AuthorizedKeysFile      .ssh/authorized_keys


    如需修改, 则在修改后执行重启 SSH 服 务命令使其生效 :service sshd restart


    5 、将公 钥复制到所有其他机器上 :scp ~/.ssh/id_rsa.pub root@2:~/ 然后 输入 yes ,最后 输入 2机器的密 码


    6 、在 2 机器上 创建 .ssh 文件夹 :


    mkdir ~/.ssh


    然后 执行 chmod 700 ~/.ssh (若文件夹以存在 则不需要创建)


    7 、追加到授权文件 authorized_keys 执行命令 :


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


    然后 执行 chmod 600 ~/.ssh/authorized_keys


    8 、重复第 4 步


    9 、 验证命令 : 在 1机器上 执行 ssh 2发现主机名由 1变成 2即成功,最后 删除 id_rsa.pub 文件 :rm -r id_rsa.pub


    问题出现了:


    1机器已经生产rsa密钥


    且已经将public key添加到47机器/root/.ssh/authorized_keys


    但是ssh root@2机器时仍然需要输入密码,即无密码认证失败,


    解决办法:


    查看权限:
    用ssh -v debug访问,日志如下,但是从日志看不到失败原因,只知道在用publickey认证时,对端没有reply;
    再查看/var/log/secure日志


    权限问题总结如下:
    1) .ssh目录的权限必须是700
    2) 用户目录的权限必须是700,比如我是用root用户操作的,则/root的权限必须是700
    3) .ssh/authorized_keys文件权限必须是600
    4)setenforce 0把SELinux关闭(很重要)

  • 相关阅读:
    常用正则表达式大全
    ASP.netMVC验证码
    装饰器
    闭包函数
    猜年龄
    函数基础
    文件的高级应用
    字符编码
    文件的三种打开模式
    深浅拷贝+异常处理
  • 原文地址:https://www.cnblogs.com/cphmvp/p/6400376.html
Copyright © 2011-2022 走看看