zoukankan      html  css  js  c++  java
  • SSH免密码登入

    0, 原理
    这种方式你需要在客户端服务器上为自己创建一对密匙,并把公匙放在需要登录的服务器上。
    当你要连接到服务器上时,客户端就会向服务器请求使用密匙进行安全验证。
    服务器收到请求之后,会在该服务器上你所请求登录的用户的家目录下寻找你的公匙,
    然后与你发送过来的公匙进行比较。
    如果两个密匙一致,服务器就用该公匙加密“质询”并把它发送给客户端。
    客户端收到“质询”之后用自己的私匙解密再把它发送给服务器。

    1, 操作
    配置 
    主机A:192.168.0.101
    主机B:192.168.0.102
    需要实现:在主机A上实现ssh无密码连接主机B;

    步骤:
    0, 登入主机A:192.168.0.101
    1, ssh-keygren -t rsa
    2, cd /root/.ssh/
    3, scp ./id_rsa.pub root@192.168.0.102:/root/.ssh/id_rsa.pub.101
    4, ssh root@root@192.168.0.102
    5, chmod 700 ./.ssh/ # option
    6, cd ./.ssh/
    7, cat id_rsa.pub.101 >> authorized_keys
    8, chmod 600 authorized_keys # option


    2, 使用场景
    1) rsync自动备份时免密码登录;
    2) 集群环境中需要主机间互相通信;
    3) 自动部署项目,将编译好的war包放到正确的服务器上。


    3, FAQ
    1) 如果出现报警:"Address X.X.X.X maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!"。
    在"192.168.0.101"(连接端)服务器上执行如下命令:
    echo "GSSAPIAuthentication no" >> ~/.ssh/config
    在"192.168.0.102"(被连接端)服务器上执行"vi /etc/ssh/sshd_config"命令,修改下面两项值为"no" :
    "GSSAPIAuthentication no"
    "UseDNS no"

    2) 如果出现报警:"Agent admitted failure to sign using the key."
    执行命令:"ssh-add"(把专用密钥添加到ssh-agent的高速缓存中)
    如果还不行,执行命令:"ps -Af | grep agent "
    (检查ssh代理是否开启,如果有开启的话,kill掉该代理)
    然后执行"ssh-agent"(重新打开一个ssh代理)
    如果还是不行,继续执行命令:"sudo service sshd restart"(重启一下ssh服务)

    3) 通过命令"/usr/sbin/sestatus -v" 查看SELinux状态,如果"SELinux status"参数为"enabled"(开启状态),则关闭SELinux。
    临时关闭方法(不用重启机器):"setenforce 0"
    修改配置文件关闭方法(需要重启机器):执行命令"/etc/selinux/config",将"SELINUX=enforcing"改为"SELINUX=disabled"

    4) 执行命令"vim /etc/ssh/sshd_config"去掉下面三行的注释:
    "RSAAuthentication yes"
    "PubkeyAuthentication yes"
    "AuthorizedKeysFile .ssh/authorized_keys"

  • 相关阅读:
    android:由URL载入中ImageView
    POI操作Excel详细解释,HSSF和XSSF两种方式
    深入了解jsonp解决跨域访问
    __declspec(novtable)keyword
    八十第五个冠军(复制和匹配的字符串)
    Canvas入门(3):图像处理和渲染文本
    创建位图画刷(CreatePatternBrush)
    MATLAB新手教程
    java io流之int数组数据的插入与取出
    随想录(从apple的swift语言说起)
  • 原文地址:https://www.cnblogs.com/cityspace/p/7810032.html
Copyright © 2011-2022 走看看