首页 > 数据库 > 数据库开发技术 > 没有密码怎么配置互信?

数据库或大数据集群部署时,经常需要进行服务器间免密(互信)操作,有些公司的DBA或大数据运维工程师拥有相应服务器的密码,而对于安全意识比较强的公司,DBA无操作系统账号的密码,只能通过跳板机(堡垒机)登录相关服务器,此时该如何配置互信呢(可能有些工作了十几年的人员都还不会),本文通过CentOS7操作系统进行演示。
1. 有密码的情况
ssh-keygenssh-copy-id user@server_ipssh user@server_ipsudo systemctl restart sshd2. 无密码的情况
2.1 生成SSH密钥对
ssh-keygen在生成密钥对时,需要指定密钥类型(默认为 RSA),密钥长度(默认为 2048 位),并为私钥设置密码(可选)。
2.2 手动拷贝公钥到目标服务器
手动拷贝上一步生成密钥对中的公钥内容,公钥存储在 ~/.ssh/id_rsa.pub文件中,将其复制到目标服务器的authorized_keys文件中。
注意,authorized_keys每一行代表一个已知主机,每行末尾不要有多余的字符(如空格等),否则将无法登录
2.3 测试免密登录
ssh user@server_ip3. 小结
公钥与私钥的用途:
在 SSH 连接中,公钥和私钥用于 SSH 公钥认证。当您连接到远程服务器时,服务器会向您的 SSH 客户端发送一个加密的请求,其中包括您本地计算机上的公钥。如果服务器在其 authorized_keys 文件中找到您的公钥,则服务器将认为您是可信任的,并允许访问服务器而不需要输入密码。
authorized_keys的作用:
authorized_keys 是 SSH 协议中用于公钥认证的文件名。当使用 SSH 连接到远程服务器时,SSH 客户端会向服务器发送一个加密的请求,其中包括本地计算机上的公钥。服务器会检查在 authorized_keys 文件中是否存在对应的公钥,如果存在,则认为是可信任的,并允许访问服务器而不需要输入密码。
值得注意的是,authorized_keys 文件是一个文本文件,每行包含一个公钥。通常情况下,当在本地计算机上生成 SSH 密钥对时,会自动在 ~/.ssh/authorized_keys 文件中添加本机公钥。如果需要添加其他用户的公钥以实现 SSH 公钥认证,则可以将该用户的公钥添加到服务器上的 authorized_keys 文件中。

4. 监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库
5. PostgreSQL主从复制--物理复制
6. MySQL传统点位复制在线转为GTID模式复制




原文作者:数据库干货铺;如有侵权,请联系管理员删除。