要实现SSH无密码登录CentOS,你需要使用SSH密钥对进行身份验证。以下是详细步骤:
首先,在你的本地机器上生成一个SSH密钥对。如果你已经有一个密钥对,可以跳过这一步。
ssh-keygen -t rsa -b 4096
这个命令会生成一个RSA密钥对,默认情况下会保存在~/.ssh/id_rsa
(私钥)和~/.ssh/id_rsa.pub
(公钥)。
使用ssh-copy-id
命令将公钥复制到CentOS服务器。你需要知道服务器的IP地址和用户名。
ssh-copy-id user@server_ip
例如:
ssh-copy-id user@192.168.1.100
在执行这个命令时,系统会提示你输入服务器用户的密码。输入密码后,公钥会被复制到服务器的~/.ssh/authorized_keys
文件中。
现在,你可以尝试无密码登录到CentOS服务器。
ssh user@server_ip
如果一切设置正确,你应该能够直接登录到服务器,而不需要输入密码。
为了提高安全性,你可以配置SSH服务以禁用密码登录,只允许密钥认证。
编辑服务器上的/etc/ssh/sshd_config
文件:
sudo vi /etc/ssh/sshd_config
找到以下行并进行修改:
PasswordAuthentication no
PubkeyAuthentication yes
保存并退出编辑器,然后重启SSH服务:
sudo systemctl restart sshd
确保你的防火墙允许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日志中如何识别内存泄漏