ssh配置免密登录异常处理

ssh免密连接

     主机A需要免密登录主机192.168.2.211

     ssh-keygen
     ssh-copy-id -i id_rsa.pub admin@192.168.2.211

     按照正常配置之后 通过ssh admin@192.168.2.211 一直是提示需要输入密码

    

ssh调试信息

     在192.168.2.211主机上进行操作

     systemctl stop sshd

     启动sshd服务同时进入调试模式

     /usr/sbin/sshd -d

     

     2.在客户端主机A上执行登录命令查看详细日志信息

         ssh 'admin@192.168.2.211'

     3.  在192.168.2.211的sshd进程的调试日志里出现重要的信息

        

     4.修改192.168.2.211主机上的sshd配置文件

         

      5.免密登录成功

      

    在主机A上执行ssh admin@192.168.2.211的时候要注意当前在主机A上的登录用户 当前在A主机上的用户必须和之前在A上执行 ssh-keygen的用户一致 否则一样会免密连接失败

    问题解决完成

ssh免密后登录仍然需要输入密码

    配置目标主机/etc/ssh/sshd_config文件,将StrictModes no行注释掉
    重新梳理StrictModes这个参数的解释,顾名思义严格模式就是对用户权限的要求比较严格,登录远程主机的用户是root,
    那么对应以下权限的要求:默认的用户主目录/root所属用户组应该都是root,并且目录权限700,
    /root/.ssh/authorized_keys这个文件的权限为600.

     

root用户设置普通用户免密登录

         ssh-copy-id -f -i /home/admin/.ssh/id_rsa.pub  admin@192.168.30.152

         

         

         ssh-copy-id -f -i /root/.ssh/id_rsa.pub  admin@192.168.30.152

        

         ssh免密登录成功

        

ssh调试日志

      1.112主机 ssh客户端

          ssh-copy-id -f -i /home/admin/.ssh/id_rsa.pub  admin@192.168.30.110

          ssh  -v 'admin@192.168.30.80'

         

      2.80主机  ssh服务端

        1.查看sshd的运行日志

         tail -f /var/log/messages

         tail -f /var/log/messages | grep sshd

         

         

          chmod  go-w /home/admin
          chmod  700 /home/admin/.ssh
          chmod  600 /home/admin/.ssh/authorized_keys

         

 ansible无法执行远程命令解决方案

      sh "ansible soar-dev --user=admin -m shell -a 'sh /home/admin/soar/jar/start-soar.sh'"
      sh "ssh admin@192.168.30.172 'sh /home/admin/soar/jar/start-soar.sh'"

       

posted @ 2020-12-11 14:18  不懂123  阅读(516)  评论(0)    收藏  举报