文档章节

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

heiing
 heiing
发布于 2014/06/27 18:47
字数 307
阅读 228
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

用Redis实现“秒杀”系统

导论 曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。 秒杀系统的架构设计 秒杀系统,是典型...

小刀爱编程
16分钟前
4
0
GO redis 相关操作

在gopath 目录下安装 go get github.com/garyburd/redigo/redis package mainimport ("fmt""github.com/garyburd/redigo/redis")//定义一个全局链接池变量var pool *redis.Pool//......

汤汤圆圆
53分钟前
15
0
java8性特性,常用的lambda表达式

1、抽取多个对象中的某个属性,用数组接收 List<Student> students = new ArrayList<>(); List<String> names =students.stream().map(Student::getName).collect(Collectors.toList()); 2、......

Boss-x
54分钟前
19
0
flutter 子组件与父组件

无论是子组件还是父组件,任何时候initState()只执行一次,如果需要判断 就在build里面进行,不然无效的。

大灰狼wow
56分钟前
7
0
Rancher Labs引入全球首个多集群、多租户的Prometheus支持!

近日,Rancher Labs宣布加强对Prometheus的支持,提高Kubernetes集群的可见度。Rancher也因此成为唯一一个在多集群、多租户环境中支持Prometheus的解决方案。 Prometheus正迅速成为监控云原生...

RancherLabs
59分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部