没有密码怎么配置互信?

数据库 其他数据库
在 SSH 连接中,公钥和私钥用于 SSH 公钥认证。当您连接到远程服务器时,服务器会向您的 SSH 客户端发送一个加密的请求,其中包括您本地计算机上的公钥。

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

1、有密码的情况

(1)生成 SSH 密钥对

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

ssh-keygen

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

(2)将公钥复制到服务器

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

ssh-copy-id user@server_ip

(3)测试免密登录

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

ssh user@server_ip

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

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

sudo systemctl restart sshd

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

2、无密码的情况

(1)生成SSH密钥对

ssh-keygen

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

(2)手动拷贝公钥到目标服务器

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

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

(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 文件中。

责任编辑:姜华 来源: 今日头条
相关推荐

2016-09-22 14:44:28

2009-12-03 09:58:42

RSHSSHLinux

2017-08-14 12:45:54

Windows 10Windows开机密码

2018-07-31 16:20:12

Windows 10Windows密码

2015-07-02 10:15:42

密码

2010-07-20 16:58:59

2010-04-20 08:56:53

2016-11-15 18:57:15

2013-01-06 13:45:14

2020-03-27 17:37:45

Linux密码时效

2010-01-08 10:18:47

Ubuntu MySQ

2011-03-09 10:10:11

2022-04-22 10:30:07

框架JavaScript前端

2017-10-24 10:36:58

打印机墨水墨盒

2021-08-11 16:34:02

浮动路由路由网络技术

2017-12-14 16:02:43

2010-08-13 09:21:14

路由器密码

2021-02-28 07:47:41

数据库密码加密

2012-06-28 10:52:06

Hadoop集群

2012-09-13 13:26:40

Hadoop集群
点赞
收藏

51CTO技术栈公众号