centos

ssh密钥认证centos步骤

小樊
48
2025-03-09 09:42:31
栏目: 智能运维

SSH密钥认证是一种更安全的认证方式,相比于密码认证,它使用一对公钥和私钥进行身份验证。以下是在CentOS系统上设置SSH密钥认证的步骤:

1. 在客户端生成SSH密钥对

首先,在你的本地机器(客户端)上生成SSH密钥对。打开终端并运行以下命令:

ssh-keygen -t rsa -b 4096

按照提示操作,你可以选择密钥的保存位置和设置密码短语(passphrase)。通常情况下,你可以直接按回车键使用默认位置和空密码短语。

2. 将公钥复制到服务器

使用ssh-copy-id命令将公钥复制到CentOS服务器。这个命令会要求你输入服务器的用户密码。

ssh-copy-id user@server_ip

user替换为你的服务器用户名,server_ip替换为你的服务器IP地址。

如果ssh-copy-id命令不可用,你可以手动复制公钥。首先,找到生成的公钥文件(通常是~/.ssh/id_rsa.pub),然后将其内容追加到服务器上的~/.ssh/authorized_keys文件中:

cat ~/.ssh/id_rsa.pub | ssh user@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

3. 配置服务器SSH

确保服务器的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密钥认证登录到服务器了。尝试从客户端连接到服务器:

ssh user@server_ip

如果一切设置正确,你应该能够无需输入密码即可登录。

注意事项

通过以上步骤,你应该能够在CentOS系统上成功设置SSH密钥认证。

0
看了该问题的人还看了