centos

centos ssh如何配置公钥认证

小樊
43
2025-03-01 08:10:05
栏目: 智能运维

在CentOS系统中配置SSH公钥认证可以提高安全性并简化登录过程。以下是详细的步骤:

1. 生成SSH密钥对

首先,在本地机器上生成SSH密钥对(如果还没有的话)。打开终端并运行以下命令:

ssh-keygen -t rsa -b 4096

按照提示操作:

2. 将公钥复制到远程服务器

使用ssh-copy-id命令将公钥复制到远程服务器的~/.ssh/authorized_keys文件中。假设远程服务器的IP地址是192.168.1.100,用户名是user

ssh-copy-id user@192.168.1.100

按照提示输入密码。

3. 配置SSH服务器

确保远程服务器的SSH配置允许公钥认证。编辑远程服务器上的/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

找到并修改以下配置项:

保存并退出编辑器,然后重启SSH服务:

sudo systemctl restart sshd

4. 测试SSH连接

现在,尝试从本地机器通过SSH连接到远程服务器:

ssh user@192.168.1.100

如果一切配置正确,你应该能够无需输入密码直接登录。

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

为了进一步提高安全性,可以在本地机器的~/.ssh/config文件中配置SSH客户端。例如:

Host myserver
    HostName 192.168.1.100
    User user
    IdentityFile ~/.ssh/id_rsa

这样,你只需要运行ssh myserver就可以连接到远程服务器。

6. 防火墙配置(可选)

确保防火墙允许SSH连接。如果你使用的是firewalld,可以运行以下命令:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

如果你使用的是iptables,可以添加相应的规则:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

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

0
看了该问题的人还看了