标签:免密 slave postgres authorized master ssh localhost 登陆
一 配置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文件会报错
- #原因
- sshd为了安全,对属主的目录和文件权限有所要求。如果权限
- 不对,则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 查看详情,根据输出内容具体问题具体分析了
标签:免密,slave,postgres,authorized,master,ssh,localhost,登陆 来源: https://www.cnblogs.com/actively/p/13393971.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。