zoukankan      html  css  js  c++  java
  • 关于配置ssh免密码登录后,仍提示输入密码

    一、在A端创建密钥对:
    [root@A ~] ssh-keygen -t rsa -b 4096 -P ''
    二、如果B机器没有.ssh和authorized_keys文件则创建这个文件夹和文件先,创建后要chown改成当前用户的所属者,其次也要改:
    chown buser:buser -R ~/.ssh
    chmod 700 ~/.ssh
    chmod 600 .ssh/authorized_keys
    三、将公钥xxxxxx.pub文件拷贝到服务器端的~/.ssh/authorized_keys文件中,有三种方法有三种方法:
    
     1、通过scp拷贝:
    [root@A ~] scp -P 22 ~/.ssh/xxxxxx.pub buser@bserver:~/authorized_keys    #可选参数-P代表指定用端口号22
     2、通过ssh-copyid程序:
    [root@A ~] ssh-copy-id -i xxxxxx.pub buser@bserver        #此种方式简单,不需追加改文件名,但不能指定端口号,默认以22端口
     3、通过cat方法:
    [root@A ~] cat ~/.ssh/xxxxxx.pub | ssh -p 22 buser@bserver‘cat >> ~/.ssh/authorized_keys’
    四、免密码登录过程:
    1、在A上生成公钥/私钥
    2、将公钥拷贝给server B,要重命名成authorized_keys
    3、Server A向Server B发送一个连接请求
    4、Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A
    5、Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登
    总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。
    
    五、常见问题:
    1、配置了免密,为什么还提示输入密码?
    查看remote端日志
    tail -f /var/log/secure
    发现:Authentication refused: bad ownership or modes for file /home/dragon/.ssh/authorized_keys
    很明显是由于/home/dragon/.ssh/authorized_keys文件的权限设置不正确,将权限设置为600即可:
    chmod 600 .ssh/authorized_keys
    2、配置了免密,提示输入密码,如果日志没有报错信息,可以通过以下方式调试:
    ssh -vvv buser@bserver

    如果权限不对或者路劲不对都会导致找不到对应的私钥或公钥,可能 ~/.ssh目录为非700权限,并检查私钥的路劲和文件名是否正确:
    vim /etc/ssh/ssh_config

    或者:
    echo 'IdentityFile /root/.ssh/zabbix-client-rsa' > ~/.ssh/config

     

    *** 你必须十分努力,才能看起来毫不费力 ***
  • 相关阅读:
    以太网的寻址
    IP地址简介
    服务器控件与Html控件属性值的解释差异
    The Live Hacking CD
    德国SNS交友/视频网站Poppen.de的技术架构分享
    Forensic Log Parsing with Microsoft's LogParser
    The Flame: Questions and Answers
    hping
    WIN7与XP网络共享与访问
    Win7无法访问NAS或Samba解决之道
  • 原文地址:https://www.cnblogs.com/bigtree2pingping/p/9884063.html
Copyright © 2011-2022 走看看