前阵子搭建Hadoop时,配置了本机(localhost)的ssh的公钥到authorized_keys文件中,但是在ssh连接localhost时仍然提示需要输入密码,后来发现是$HOME/.ssh/authorized_keys这个文件的权限问题引起的。其原因是,不能让所有者之外的用户对authorized_keys文件有写权限,否则,sshd将不允许使用该文件,因为它可能会被其他用户篡改。
命令行的演示如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[hadoop@guest1 ~]$ cd .ssh/[hadoop@guest1 .ssh]$ ll
total 16-rw-rw-r--1 hadoop hadoop  395 Jan 1218:37 authorized_keys
-rw-------1 hadoop hadoop 1675 Jan 1218:36 id_rsa
-rw-r--r--1 hadoop hadoop  395 Jan 1218:36 id_rsa.pub
-rw-r--r--1 hadoop hadoop  796 Jan  6 08:40 known_hosts
#注意这里的authorized_keys文件的权限;这时该文件中的key是不起作用的。#用chmod修改authorized_keys文件的权限[hadoop@guest1 .ssh]$ chmod g-w authorized_keys
[hadoop@guest1 .ssh]$ ll
total 16-rw-r--r--1 hadoop hadoop  395 Jan 1218:37 authorized_keys
-rw-------1 hadoop hadoop 1675 Jan 1218:36 id_rsa
-rw-r--r--1 hadoop hadoop  395 Jan 1218:36 id_rsa.pub
-rw-r--r--1 hadoop hadoop  796 Jan  6 08:40 known_hosts
                
#修改后,sshd就可以正常使用authorized_keys文件了[hadoop@guest1 ~]$ ssh localhost
Last login: Sat Jan 1218:40:332013 from localhost
[hadoop@guest1 ~]$ exitlogout
Connection to localhost closed.
[hadoop@guest1 ~]$

后来,我详细查了一下,如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。
“man sshd”命令查看对authorized_keys文件的描述如下:

1
2
3
4
5
6
7
8
9
10
11
man sshd
.....
     ~/.ssh/authorized_keys
             Lists the public keys (DSA/ECDSA/RSA) that can be used for logging in as this user.  The format of
             this file is described above.  The content of the file is not highly sensitive, but the recommended
             permissions are read/write for the user, and not accessible by others.
     
             If this file, the ~/.ssh directory, or the user's home directory are writable by other users, then the
             file could be modified or replaced by unauthorized users.  In this case, sshd will not allow it to be
             used unless the StrictModes option has been set to “no”.
........
 
 

ssh配置authorized_keys后仍然需要输入密码的问题的更多相关文章

  1. Hadoop集群搭建(cluster setup),ssh免密后一直要求输入密码的原因

    前段时间,网上有言SHA-1加密技术,已经被谷歌公司破解,在linux系统中,集群间加密的技术是用DSA秘钥,秘钥本身其实是一种算法,就像前面说的SHA-1也是加密算法的一种. 免密在linux系统中 ...

  2. ssh复制公钥成功后仍需输入密码

    1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...

  3. ssh-keygen的使用方法及配置authorized_keys两台linux机器相互认证

    一.概述 1.就是为了让两个linux机器之间使用ssh不需要用户名和密码.采用了数字签名RSA或者DSA来完成这个操作 2.模型分析 假设 A (192.168.20.59)为客户机器,B(192. ...

  4. SSH配置免秘钥登录

    一.  SSH 配置免秘要登录 配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录.SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录.配置相互信任就是把各自的 ...

  5. ssh配置含义解释

    ssh包括客户端配置(ssh_config)和服务端配置(sshd_config) 一.客户端配置ssh_config,客户端软件有SecureCRT.putty.Xshell等 “#”表示注释,虽然 ...

  6. jenkins自动化部署项目5 -- 系统管理-系统设置ssh配置

    [系统管理]-[系统设置] 如果应用服务(前端后台)要部署在linux服务器上,我选择的是用ssh 为了jenkins登录远程登录linux服务器可以免密登录,先配置公钥和私钥: 我是在windows ...

  7. CentOS SSH配置

    默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/sshd_config,根据模板将要修改的 ...

  8. github SSH配置

    目录 github SSH配置 前言 ssh 配置 github SSH配置 前言 github有两种更新的渠道,一种是https的,一种是ssh的,其中https每次都要输入密码,非常烦.所以,最好 ...

  9. mysql+ssh 配置(转载)

    Mysql+ssh配置 一.Linux平台间mysql+ssh配置 本机地址为:192.168.189.133 mysql服务器地址为:192.168.189.139 linux命令行下使用ssh命令 ...

随机推荐

  1. spring测试实例

    我们以前要进行单元测试,必须先得到ApplicationContext对象,再通过它得到业务对象,非常麻烦,重复代码也多.基于spring3的单元测试很好的解决了这个问题 基于spring3的单元测试 ...

  2. DAS存储未死,再次欲获重生

    当我们回想存储发展形态时.我们会想到DAS是最原始最主要的存储方式,在个人电脑.server等低端市场和场景上随处可见. 存储的原始形态也来自于DAS,常见的用于连接DAS和主机系统的协议/标准主要 ...

  3. JSP生成静态html网页

    /** * jsp生成静态html网页 */ public class ToHtml extends HttpServlet { public void service(HttpServletRequ ...

  4. ip段/数字,如192.168.0.1/24的意思是什么?(转)

    ip段/数字,如192.168.0.1/24的意思是什么? 踩踩 0作者:Admin 发表日期:2013-10-31 复制链接 收藏 首先来了解一下二进制的转换知识: 二进制数转换成十进制数 二进制的 ...

  5. jquery 获取html <img /> 位置时出错问题

    如图所示,这样端口小图片都是通过jquery html()方法设置的(参数html就是画整个图片的html字符串),如图: 但是出现图片没有完全渲染完的问题,如图: 从图中可以看出在代码运行到断点的时 ...

  6. Android API之onLayout, onMeasure

    android.view.ViewGroup protected void onLayout(boolean changed, int l, int t, int r, int b) 执行layout ...

  7. 主从复制时报:ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in t

    centos 6.5 mysql5.7 在从库作stop slave时报: error:ERROR 1794 (HY000): Slave is not configured or failed to ...

  8. linux命令创建和修改用户及密码

    linux下创建用户 1.添加ftp用户 useradd ftpname -d /home/ftp passwd ftppwd 以下操作都以root权限进行: service vsftpd start ...

  9. LeetCode-2: Add Two Numbers

    [Problem:2-Add Two Numbers] You are given two non-empty linked lists representing two non-negative i ...

  10. Solr 4.0部署

    http://www.blogjava.net/xiaohuzi2008/archive/2012/12/03/392373.html