没有密码怎么配置互信?

点击上方蓝字关注我

cb61ab6aa4b6ba4e61ad6254ebfb6fde.png

       数据库或大数据集群部署时,经常需要进行服务器间免密(互信)操作,有些公司的DBA或大数据运维工程师拥有相应服务器的密码,而对于安全意识比较强的公司,DBA无操作系统账号的密码,只能通过跳板机(堡垒机)登录相关服务器,此时该如何配置互信呢(可能有些工作了十几年的人员都还不会),本文通过CentOS7操作系统进行演示。

1. 有密码的情况

1.1 生成 SSH 密钥对

在本地计算机上使用 ssh-keygen 命令生成 SSH 密钥对。生成的密钥对包括公钥和私钥,公钥将用于免密登录。

ssh-keygen

在生成密钥对时,需要指定密钥类型(默认为 RSA),密钥长度(默认为 2048 位),并为私钥设置密码(可选)。

1.2 将公钥复制到服务器

将本地计算机上的公钥复制到服务器上,可以使用 ssh-copy-id 命令,该命令会将公钥添加到服务器上的 authorized_keys 文件中。要使用此命令,需要在命令中指定要将公钥添加到的服务器的用户名和 IP 地址。

ssh-copy-id user@server_ip

1.3 测试免密登录

测试使用 SSH 连接到服务器:

ssh user@server_ip

如果一切正常,将无需输入密码即可登录到服务器。

需要注意的是,为了确保安全,应该禁用密码登录。可以编辑服务器上的 SSH 配置文件 /etc/ssh/sshd_config,并将 PasswordAuthentication 选项设置为 no,以禁用密码登录。完成后,重新启动 SSH 服务以应用更改:

sudo systemctl restart sshd

这样,就可以在 CentOS 服务器上配置 SSH 公钥认证,实现免密登录了。

2.  无密码的情况

2.1  生成SSH密钥对

ssh-keygen

在生成密钥对时,需要指定密钥类型(默认为 RSA),密钥长度(默认为 2048 位),并为私钥设置密码(可选)。

2.2  手动拷贝公钥到目标服务器

手动拷贝上一步生成密钥对中的公钥内容,公钥存储在 ~/.ssh/id_rsa.pub文件中,将其复制到目标服务器的authorized_keys文件中。

注意,authorized_keys每一行代表一个已知主机,每行末尾不要有多余的字符(如空格等),否则将无法登录

2.3 测试免密登录

测试使用 SSH 连接到服务器:

ssh user@server_ip

如果一切正常,将无需输入密码即可登录到服务器。

3.  小结

公钥与私钥的用途:

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

authorized_keys的作用:

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

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

0ba4057d790316405546c6684137908d.png

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

5072aff22390859f1928caec44014e9a.png

扫码关注     

d8116fb16c139cbc6e32bed8970068c7.jpeg

81fed3c9861257d88e9d57a6262c831f.png

cb5829a6124e890386fe672c47390f32.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值