版权声明:本文为博主原创文章,未经博主允许不得转载。

1.  操作系统版本

1)操作系统

cat /etc/issue
cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m

cat /proc/version
cat /proc/version

Linux version 2.6.32-504.el6.x86_64
(mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red
Hat 4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014

2. 问题描述

1) 配置互信

172.172.230.210 下执行(root用户)

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.172.230.211

172.172.230.211 下执行(root用户)

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.172.230.210

2) 验证互信是否生效

在172.172.230.210上执行

ssh 172.172.230.211 hostname >>执行成功无需提供密码

在172.172.230.211 上执行

  1. ssh 172.172.230.210 hostname
  2. root@172.172.230.210's password:

##但是在172.172.230.211上执行ssh连接172.172.230.210 时提示需要密码,互信没有生效。

3. 问题分析

3.1 可能会导致互信产生问题的原因有如下三个

1) 目录权限,文件权限

##以root用户为例,root目录,.ssh目录
除了目录的属主可以具有write权限以外,属组和其他用户都不能对root目录和.ssh目录具有write权限(root用户配置互信时,秘钥文件保存路径为/root/.ssh/),否则其他主机在使用互信登录该主机时,依然会提示需要输入密码。authorized_keys文件权限应该为600

2) seliux

  1. vi /etc/selinux/config
  2. # This file controls the state of SELinux on the system.
  3. # SELINUX=disabled
  4. #     enforcing - SELinux security policy is enforced.
  5. #     permissive - SELinux prints warnings instead of enforcing.
  6. #     disabled - No SELinux policy is loaded.
  7. SELINUX=disabled
  8. # SELINUXTYPE= can take one of these two values:
  9. #     targeted - Targeted processes are protected,
  10. #     mls - Multi Level Security protection.
  11. SELINUXTYPE=targeted

##selinux 设置为disabled

3) iptables

  1. service iptables status
  2. iptables: Firewall is not running.

##iptables服务没有起,所以不是这个原因

3.2 查看172.172.230.210 的/var/log/secure日志

通过上面的分析我们大致可以判断应该是目录权限导致互信不生效了,接一下来我们查看一下/var/log/secure日志中有什么信息:

  1. May 17 17:17:15 shaofei-test-mysql-01 sshd[24719]: Failed password for root from 172.172.230.211 port 17890 ssh2
  2. May 17 17:17:17 shaofei-test-mysql-01 sshd[24719]: Failed password for root from 172.172.230.211 port 17890 ssh2
  3. May 17 17:17:17 shaofei-test-mysql-01 sshd[24721]: Connection closed by 172.172.230.211
  4. May 17 18:08:26 shaofei-test-mysql-01 sshd[25004]: Authentication refused: bad ownership or modes for directory /root
  5. May 17 18:08:26 shaofei-test-mysql-01 sshd[25004]: Authentication refused: bad ownership or modes for directory /root

##日志中很清楚的反应了因为/root目录权限的问题,导致互信失败。后来发现172.172.230.210
上的/root 目录的权限为777,修改为700或者750问题解决

注意172.172.230.210上目录权限有问题会导致其他主机在使用免密码登录该服务器的时候又问题,但是如果其他机器的目录和文件权限没有问题,并且配置了互信,那么172.172.230.210使用免密码登录其他服务器是不会有问题的

4.
解决方案

修改/root目录权限为 700 或者750,或者755

http://blog.csdn.net/shaochenshuo/article/details/51438354

linux 互信不生效的更多相关文章

  1. 嵌入式 Linux下永久生效环境变量bashrc

    嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...

  2. Linux 定时任务不生效的问题

    Linux 中定时任务不生效的问题屡见不鲜, 本质原因是: 登录式 shell & 非登录式 shell. 登录式 shell & 非登录式 shell 登录式 shell 有: su ...

  3. Linux 硬盘分区生效命令partprobe

    在Linux中使用fdisk命令进行分区时,有时会遇到"WARNING: Re-reading the partition table failed with error 16: Devic ...

  4. 为Linux操作系统配置SSH互信

    Linux 互信,免登陆 1.切换到要建立互信的用户(以root为例): su - root cd ~ 2.制作密钥并赋权: # ssh-keygen -t dsa               #出现 ...

  5. Unix&Linux技术文章目录(2015-12-22更新)

    Unix & Linux 方面的博客整理.归纳分类,要坚持不懈的学习Unix &Linux,加油!技术需要累积和沉淀.更需要锲而不舍的精神.持之以恒的毅力!借此下面名句勉励自己! 书上 ...

  6. Install Oracle 10g on Red Hat Linux 5.3 Step by Step

    一.虚拟机配置 1. 虚拟机(VBox 4.3.12) 2. 配置虚拟机网卡网络.选择host-only.VirtualBox Host-Only Network网卡IP为设置为192.168.1.1 ...

  7. 开始使用gentoo linux——gentoo安装笔记(上)

    gentoo linux安装笔记(上) 家里有一台破旧的富士通笔记本,08年至今质量依然杠杠的,但是性能已经不能和现代超极本同日而语,装上了ubuntu更是不敢恭维,别提gnome和kde的linux ...

  8. Linux:Gentoo系统的安装笔记(一)

    这次我选择安装Gentoo,用来做我学习的笔记.这次我是使用虚拟机安装Gentoo,一是方便操作,二是可以看着手册,一边看一边操作,严格按照手册上的步骤执行,一般是不会出现问题的. 查看手册最好学会看 ...

  9. 在Linux下锁住键盘和鼠标而不锁屏

    假如在你正看着屏幕上的某些重要的事情时,你不想让你的小猫或者小狗在你的键盘上行走,或者让你的孩子在键盘上瞎搞一气,那我建议你试试 xtrlock 这个工具. 假如在你正看着屏幕上的某些重要的事情时,你 ...

随机推荐

  1. GUID相关知识。。。。转载

              全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络 ...

  2. List相关知识点.......课堂加整理

    package lis0924; //接口List(列表) import java.util.ArrayList; import java.util.Iterator; import java.uti ...

  3. java 反取字符串

    public class demo2 { /** * 2 : 将字符串反取出来 新中国好 好国中新 */ public static void main(String[] args) { String ...

  4. php for循环嵌套

    <?php     //2.打印一个50*50的 'o' 的正方形方整, 使用for的嵌套     // oooooo     // oooooo     // oooooo //for循环嵌套 ...

  5. eval 与 Function

    var json='{"name":"lee","age":"15"}' function test () { var ...

  6. Cookie 知识点再整理

    1. Cookie  是存储在客户端 内存 或者 硬盘(例如火狐把 Cookie 存储在 C:\Documents and Settings\用户名\Application Data\Mozilla\ ...

  7. C#网络编程之--TCP协议(一)

    TCP 是面向连接的传输协议 面向连接,其实就好比,A打电话给B,如果B接听了,那么A和B之间就的通话,就是面向连接的 TCP 是全双工的传输协议 全双工,这个理解起来也很简单,A打电话给B,B接听电 ...

  8. an alternative to symmetric multiprocessing

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION 17.5 CLUSTERSAn impor ...

  9. m=m++,结果让你大吃一惊。

    如图,本来以为m=m++和m++是同一个效果,没想到m的值居然还是0. 原来m++是一个表达式,是有返回值的,它的返回值就是m自加前的值,Java对自加是这样处理的:首先把m的值(注意是值,不是引用) ...

  10. 使用Entity Framework 自动产生的Sql语句

    对于一个单独实体的通常操作有3种:添加新的实体.修改实体以及删除实体. 1.添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现. ...