概述
1 需求及应用场景
有两台服务器之间需要进行文件传输和拷贝,在脚本中使用SCP命令进行文件拷贝时需要输入账号和密码,导致脚本被中断,因此需要做系统之间的互信,实现免密完成服务器之间文件的拷贝。
2 服务器之间互信操作步骤
两台服务器分别是:
Node1:10.211.55.9
Node2:10.211.55.11
目标从 Node1的shell 中访问Node2
具体步骤
1.在Node1 shell中生成公钥私钥对
ssh-keygen -t rsa
此时会依次弹出三个输入框,点击三次回车即可。
2 复制Node1公钥到Node2服务器
ssh-copy-id -i /home/node1usr/.ssh/id_rsa.pub node2usr@10.211.55.11
3 Node1 shell中访问
ssh 'node2usr@10.211.55.11'
3 可能遇到的问题
正常情况进行以上三个步骤即可完成服务器之间的互信操作,但是有时由于服务器的版本、环境等原因可能导致互信失败,完成以上步骤的情况依然要输入密码。可以分别检查以下几个地方。
1、文件权限问题
在node2中执行如下操作
chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2、node2服务器检查SELinux模块的工作模式是否为关闭
如果SELinux模块的工作模式为Enforcing(强制模式)的话,可能会影响互信
[root@node2 ~]# getenforce
Enforcing
修改SELinux模块的工作模式为permissive(宽容模式)
setenforcing 0
3、检查node2服务器是否关闭了PUBKEY公钥认证
在node2服务器中使用root用户
vi /etc/ssh/sshd_config
查找 PubkeyAuthentication yes 设置项,取消前面的#注释符号,使其生效
然后重启sshd服务
service sshd restart
4、查看SSH登录日志,进行排查
tail -f /var/log/secure
参考:
SSH添加互信机制:https://blog.51cto.com/11242336/2119590
一文彻底明白linux中的selinux到底是什么:https://www.phpyuan.com/235739.html
最后
以上就是暴躁星月为你收集整理的ssh互信及可能遇到的问题解决的全部内容,希望文章能够帮你解决ssh互信及可能遇到的问题解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复