zoukankan      html  css  js  c++  java
  • (转)Putty server refused our key的三种原因和解决方法

    原文

    上一篇博文介绍了使用Putty免密码登录,我后面试了另一台虚拟机,结果putty显示错误server refused our key(在linux下则表现为仍需要输入密码),搜索了下,很多人都遇到这个问题,大致有三种原因:

    1、.ssh文件夹权限错

    .ssh 以及其父文件夹(root为/root,普通用户为Home目录)都应该设置为只有该用户可写(比如700)。

    以下为原因:

    ssh服务器的key方式登录对权限要求严格。对于客户端: 私钥必须为600权限或者更严格权限(400), 一旦其他用户可读, 私钥就不起作用(如640), 表现为系统认为不存在私钥
    对于服务器端: 要求必须公钥其他用户不可写, 一旦其他用户可写(如660), 就无法用key登录, 表现为:Permission denied (publickey).
    同时要求.ssh目录其他用户不可写,一旦其他用户可写(如770), 就无法使用key登录, 表现为:Permission denied (publickey).

    2、SElinux导致

    密钥文件不能通过SElinux认证,解决方法如下:

    1
    # restorecon -R -v /home #root用户为/root

    我遇到的就是这种情况,找了好久还找到是这个原因,因为是新装的虚拟机,SElinux还没关闭。

    这篇博文详细得说明了原因:http://www.toxingwang.com/linux-unix/linux-basic/846.html

    3、sshd配置不正确

    正确配置方法如下:

    /etc/ssh/sshd_config 1、找到 #StrictModes yes 改成 StrictModes no (去掉注释后改成 no) 2、找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注释) 3、找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注释) 4、保存 5、/etc/rc.d/init.d/sshd reload 重新加载

  • 相关阅读:
    关于this关键字
    Java元注解
    缩点+spfa最长路【bzoj】 1179: [Apio2009]Atm
    使用Windows API进行串口编程
    串口编程基础知识
    设计模式--代理模式
    用Java实现断点续传的基本思路和代码
    断点续传的原理
    JAVA的StringBuffer类
    StringBuilder用法
  • 原文地址:https://www.cnblogs.com/goyier/p/7498992.html
Copyright © 2011-2022 走看看