Hello! 欢迎来到小浪云!


如何在CentOS上使用SSH密钥认证


centos上设置ssh密钥认证可以提供一种更安全的远程访问方法,避免每次登录时都需输入密码。以下是实现这一目标的详细步骤:

1. 创建ssh密钥对

首先,在你的本地计算机上生成SSH密钥对。如果已有密钥对,则可跳过此步骤。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

运行此命令后,系统会要求你选择密钥文件的保存位置及设置一个可选的密码短语。默认情况下,密钥将保存为~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。

2. 传输公钥到centos服务器

使用ssh-copy-id命令将公钥添加到CentOS服务器上的~/.ssh/authorized_keys文件中。

ssh-copy-id user@remote_host

这里,user是你CentOS服务器上的用户名,remote_host是服务器的IP地址或域名。

3. 调整SSH服务器设置

确保CentOS服务器上的SSH配置文件允许使用密钥认证。编辑/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

确认以下配置项已正确设置:

PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys

保存并退出编辑器,然后重启SSH服务以应用这些更改:

sudo systemctl restart sshd

4. 验证SSH密钥认证

现在,你可以尝试使用SSH密钥认证登录到CentOS服务器:

ssh user@remote_host

如果配置无误,你应该能够无需密码即可登录。

5. 设置SSH客户端(可选)

为了增强安全性,可以在本地计算机的~/.ssh/config文件中配置SSH客户端,以便更简便地使用密钥认证。

Host remote_host     HostName remote_host_ip_or_domain     User user     IdentityFile ~/.ssh/id_rsa

这样,你只需输入ssh remote_host即可自动使用配置的密钥进行认证。

通过上述步骤,你可以在CentOS上成功配置并使用SSH密钥认证。

相关阅读