我是靠谱客的博主 暴躁星月,最近开发中收集的这篇文章主要介绍ssh互信及可能遇到的问题解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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互信及可能遇到的问题解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部