Linux系统建立互信、ssh免密登陆配置、其它系统互信配置的几种方法(Oracle rac、GreenPlum等)

0    609    3

Tags:

👉 本文共约3635个字,系统预计阅读时间或需14分钟。

简介

在Linux环境中,“互信”通常指的是通过配置SSH(Secure Shell)实现的免密码登录,这是一种安全的网络通信协议,用于计算机之间的命令执行和文件传输。当两台或多台Linux主机之间建立了“互信”关系,即配置了SSH的公钥认证,用户便可以在这些主机之间进行无密码的SSH登录或进行scp拷贝。

具体来说,互信和免密登录的实现机制如下:

  1. 公钥加密原理:SSH使用公钥加密技术,每个用户都有一对密钥——公钥和私钥。公钥可以公开分享,而私钥需要保密。

  2. 公钥分发:用户在本地机器上生成一对密钥(公钥和私钥)。然后,将公钥分发到远程服务器上,通常将其添加到远程服务器上用户主目录下的.ssh/authorized_keys文件中。

  3. 认证过程:当用户尝试从本地机器SSH登录到远程服务器时,SSH守护进程会使用存储在.ssh/authorized_keys文件中的公钥来验证用户提交的私钥。如果匹配,用户就可以无需输入密码直接登录。

  4. SSH配置:为了实现免密码登录,需要在本地和远程机器上适当配置SSH。这通常包括确保SSH守护程序允许公钥认证,以及确保.ssh目录和authorized_keys文件的权限正确设置。

公钥与私钥的用途:

​ 在 SSH 连接中,公钥和私钥用于 SSH 公钥认证。当您连接到远程服务器时,服务器会向您的 SSH 客户端发送一个加密的请求,其中包括您本地计算机上的公钥。如果服务器在其 authorized_keys 文件中找到您的公钥,则服务器将认为您是可信任的,并允许访问服务器而不需要输入密码。

authorized_keys的作用:

​ authorized_keys 是 SSH 协议中用于公钥认证的文件名。当使用 SSH 连接到远程服务器时,SSH 客户端会向服务器发送一个加密的请求,其中包括本地计算机上的公钥。服务器会检查在 authorized_keys 文件中是否存在对应的公钥,如果存在,则认为是可信任的,并允许访问服务器而不需要输入密码。

​ 值得注意的是,authorized_keys 文件是一个文本文件,每行包含一个公钥。通常情况下,当在本地计算机上生成 SSH 密钥对时,会自动在 ~/.ssh/authorized_keys 文件中添加本机公钥。如果需要添加其他用户的公钥以实现 SSH 公钥认证,则可以将该用户的公钥添加到服务器上的 authorized_keys 文件中。

所谓用户等价,就是以Oracle用户从一个节点连接到另一个节点时,不需要输入密码。

Oracle GI和DB的安装过程都是先在一个节点安装,然后安装程序自动把本地安装好的内容复制到远程相同的目录下,这是一个后台拷贝过程,用户没有机会输入密码验证身份,必须进行配置。

虽然在安装软件的过程中,Oracle会自动配置SSH对等性,不过还是建议在安装软件之前手工配置。

为ssh和scp创建连接,检验是否存在:

不存在则创建:

另外需要说明的是,配置了ssh后也经常有连接拒绝的情况,多数情况下是由于/etc/ssh/ssh_config、/etc/hosts.allow和/etc/hosts.deny这3个文件的问题。

/etc/ssh/ssh_config文件中加入GRID及Oracle用户所在的组:

修改vi /etc/hosts.deny文件,用#注释掉sshd:ALL,或者加入ssh:ALL EXCEPT 2个节点的公网及2个节点的私网,中间用逗号隔开,如:

也可以修改:/etc/hosts.allow文件,加入sshd:ALL或

若2个文件的配置有冲突以/etc/hosts.deny为准。

重启ssd服务:

方法1:脚本:用sshUserSetup.sh快速创建互信(推荐方法)

sshUserSetup.sh在GI安装介质解压缩后的sshsetup目录下。下面两条命令在一个节点上执行即可,在root用户下执行:

输入yes及密码一路回车即可。

-hosts 表示:需要配置互信的服务器ip

-user 表示:用于远程登录到服务器上的用户名

-advanced 表示:hosts里的主机,每两个主机之间都是互信的。如果不加-advanced,例如:本机是HOST-A在本机执行./sshUserSetup.sh -user aime -hosts A B C。那么就是HOST-A->A, HOST-A->B, HOST-A->C 的互信关系。A,B,C之间是不互信的。

校验:

方法2:手工配置

分别配置grid和oracle用户的ssh

测试两节点连通性,校验:

第二次执行时不再提示输入口令,并且可以成功执行命令,则表示SSH对等性配置成功。

方法3:图形界面

输入密码,按Setup按钮建立SSH无密码互连接。如果在安装准备阶段手工配置了SSH连接,直接点Test按钮测试即可。依照上图设置好,单击“Next”按钮。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复