码迷,mamicode.com
首页 > 其他好文 > 详细

ssh免密登陆相关配置

时间:2020-07-28 22:34:29      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:ati   sdn   http   scp   pbm   tps   密码   ble   root   

一 配置ssh秘钥

在master,slave机器上都生成ssh如下:

[root@localhost ~]# su - postgres
[postgres@localhost ~]$ ssh-keygen -t rsa
[postgres@localhost ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[postgres@localhost ~]$ chmod 600 ~/.ssh/authorized_keys

分别将master的公钥复制到slave,slave的公钥复制到master。

#master端
[postgres@localhost ~]$ scp ~/.ssh/authorized_keys postgres@slave:~/.ssh/
#slave端
[postgres@localhost ~]$ scp ~/.ssh/authorized_keys postgres@master:~/.ssh/

验证下ssh配置是否成功

#master端
[postgres@slave ~]$ ssh postgres@slave
Last login: Tue Dec 20 21:22:50 2016 from master
#slave端
[postgres@slave ~]$ ssh postgres@master
Last login: Tue Dec 20 21:22:50 2016 from slave

证明ssh信任关系配置成功。

 

二 SSH免密失败原因定位分析

a) 服务器B上.ssh目录的权限必须是700

b) 服务器B上.authorized_keys文件权限必须是600或者644

c) 服务器B上用户家目录文件权限必须是700,比如用户名是aischang,则/home/aischang这个目录权限必须是700

如果不是700,在服务器A上查看/var/log/secure文件会报错

技术图片

  1.  
    #原因
  2.  
    sshd为了安全,对属主的目录和文件权限有所要求。如果权限
  3.  
    不对,则ssh的免密码登陆不生效。

d) 服务器B上SELinux关闭为disabled,可以使用命令修改setenforce 0 ,查看状态的命令为getenforce或者 查看/etc/selinux/config 文件中是否是disabled

技术图片

e) 有可能是StrictModes问题

编辑 vi /etc/ssh/sshd_config

找到#StrictModes yes改成StrictModes no

f) 有可能是PubkeyAuthentication问题

编辑 vi /etc/ssh/sshd_config

找到PubkeyAuthentication改成yes

技术图片

如果还不行,可以在服务器A上用ssh -vvv 机器B的ip 查看详情,根据输出内容具体问题具体分析了



ssh免密登陆相关配置

标签:ati   sdn   http   scp   pbm   tps   密码   ble   root   

原文地址:https://www.cnblogs.com/actively/p/13393971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!