文档章节

ssh 公钥免密码登录失败的原因与解决办法

heiing
 heiing
发布于 2014/06/27 18:47
字数 307
阅读 220
收藏 6

在使用 ssh-copy-id 成功复制公钥到远程主机之后,使用 ssh 登录依然提示需要密码,可以的原因为:

  1. 权限问题
  2. SSHD配置问题
  3. 如果是 RedHat/CentOS,还有可能是启用了 selinux 的问题


一、权限问题的解决办法:

  1. 远程主机对应用户的 ~ 目录,权限应为 550 或 750;
  2. 远程主机对应用户的 ~/.ssh 目录,权限应为 700;
  3. 远程主机对应用户的 ~/.ssh/authorized_keys 文件,权限应为 600

命令如下

chmod 775 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys


二、配置问题,编辑 /etc/ssh/sshd_config 文件,确保以下参数的值一致:

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
# 如果必需,关闭严格模式
StrictModes no

修改之后,重启 sshd,例如:

service sshd restart
或
service ssh restart


三、RedHat/CentOS的selinux问题

如果RedHat/CentOS开启了selinux,会导致很多怪异的问题,绝大多数生产环境不需要selinux,安装完系统之后,第一件事就应该把selinux关闭。方法是编辑 /etc/sysconfig/selinux ,改成:

SELINUX=disabled

再重启系统

reboot


© 著作权归作者所有

共有 人打赏支持
heiing
粉丝 12
博文 30
码字总数 13009
作品 1
深圳
程序员
加载中

评论(1)

路小磊
路小磊
学习了。
jenkins配置ssh免密码登陆

说明 jenkins构建时需要连接远程服务器并且执行脚本,这时就需要配置ssh免密钥登录。jenkins构建时都是以jenkins用户进行操作,所以要以jeknins用户来配置免密钥登录。本教程以用户名qiaofen...

pizibaidu
2017/04/21
0
0
使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录

在配置Hadoop集群分布时,要使用SSH免密码登录,假设现在有两台机器hadoop@wang-PC(192.168.10.100),作为A机,hadoop@chen-PC(192.168.10.107),作为B机。现想hadoop@wang-PC通过ssh免密码登...

iphoenix
2016/03/17
82
0
ssh 双机互信:免密码登录设置步骤及常见问题

在 linux 系统管理中,设置免密码登录,进行机器的批量管理是最常用的一个方法。比如针对几十甚至上百台线上机器,通常我们会设置一台“发布机”作为中央控制机对其它线上机器免密码登录,然...

大数据之路
2014/07/01
0
7
linux下sshd_config的StrictModes参数

今天在两台机器A和B上设置免密码登录,A机是Centos6.5,B机是Centos7,我想通过A机免密码登录到B机,在两台机器上设置好公钥和私钥后,在A机上通过ssh连接B机,每次都是要让我手动输入密码,以...

yzy121403725
2017/10/24
0
0
Linux 下设置SSH 免密登录,及相关报错解决

目录 一 环境 系统环境 软件环境 二 免密配置 1.操作步骤 2. 配置失败case 一 环境 系统环境: CENTOS 6.6 内核 2.6.32 [xxx@scripts-1 ~]$ lsb_release -aLSB Version: :base-4.0-amd64:bas...

tacg
2016/04/13
149
0

没有更多内容

加载失败,请刷新页面

加载更多

《netty入门与实战》笔记-05:netty内置的channelHandler

Netty 内置了很多开箱即用的 ChannelHandler。下面,我们通过学习 Netty 内置的 ChannelHandler 来逐步构建我们的 pipeline。 ChannelInboundHandlerAdapter 与 ChannelOutboundHandlerAdap...

Funcy1122
27分钟前
3
0
帧动画(wifi信号动态动画)

准备六张wifi不同信号强度的素材图片,复制到drawable目录中 在drawable目录中新建frame文件,并编写代码 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> ...

lanyu96
48分钟前
3
0
快速get到学习Linux操作系统的点

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件、网络协议和应用程序。它支持32位...

问题终结者
56分钟前
1
0
Django2 model操作数据库

1.将应用(如learn)添加到安装应用配置中 将我们新建的应用(learn)添加到 settings.py 中的 INSTALLED_APPS中,告诉Django有这么一个应用。 INSTALLED_APPS = [ 'django.contrib.ad...

MichaelShu
58分钟前
2
0
SpringBoot基础篇Bean之条件注入之注解使用

更多Spring文章,欢迎点击 一灰灰Blog-Spring专题 bean的条件注入,除了前面一篇博文中介绍的通过@Conditional注解配合Condition接口的实现之外,还提供了更多简化的注解使用方式,省略了自己...

小灰灰Blog
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部