SSH无密码登录CentOS如何实现

1014
2025/3/19 12:32:47
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要实现SSH无密码登录CentOS,你需要使用SSH密钥对进行身份验证。以下是详细步骤:

1. 生成SSH密钥对

首先,在你的本地机器上生成一个SSH密钥对。如果你已经有一个密钥对,可以跳过这一步。

ssh-keygen -t rsa -b 4096

这个命令会生成一个RSA密钥对,默认情况下会保存在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。

2. 将公钥复制到CentOS服务器

使用ssh-copy-id命令将公钥复制到CentOS服务器。你需要知道服务器的IP地址和用户名。

ssh-copy-id user@server_ip

例如:

ssh-copy-id user@192.168.1.100

在执行这个命令时,系统会提示你输入服务器用户的密码。输入密码后,公钥会被复制到服务器的~/.ssh/authorized_keys文件中。

3. 测试无密码登录

现在,你可以尝试无密码登录到CentOS服务器。

ssh user@server_ip

如果一切设置正确,你应该能够直接登录到服务器,而不需要输入密码。

4. 配置SSH服务(可选)

为了提高安全性,你可以配置SSH服务以禁用密码登录,只允许密钥认证。

编辑服务器上的/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

找到以下行并进行修改:

PasswordAuthentication no
PubkeyAuthentication yes

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

sudo systemctl restart sshd

5. 防火墙设置(可选)

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

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

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

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

通过以上步骤,你应该能够成功实现SSH无密码登录CentOS。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: CentOS Java日志中如何识别内存泄漏