在现代 Linux 系统管理中,使用密码登录服务器已经逐渐被更安全、更高效的 SSH 密钥认证 所取代。本教程将手把手教你如何生成、配置和优化 SSH 密钥,实现无密码安全登录,提升你的 Linux 网络安全性。
SSH(Secure Shell)是一种加密的网络协议,用于安全地访问远程服务器。传统的用户名+密码方式容易受到暴力破解攻击,而 SSH 密钥采用公钥-私钥对机制:公钥放在服务器上,私钥保存在本地。只有持有正确私钥的用户才能登录,极大提升了安全性。
打开你的终端(Linux/macOS)或使用 Git Bash(Windows),输入以下命令:
ssh-keygen -t ed25519 -C "your_email@example.com" 说明:
-t ed25519:指定使用更安全、更快的 Ed25519 算法(推荐)。如果你的系统较旧,可改用 rsa -b 4096。-C 后面是注释,通常写邮箱,便于识别密钥用途。系统会提示你选择保存路径(默认是 ~/.ssh/id_ed25519)和设置密码(passphrase)。建议设置一个强密码以增加私钥安全性。
使用 ssh-copy-id 命令是最简单的方式:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ip 输入远程服务器的密码后,公钥会自动添加到服务器的 ~/.ssh/authorized_keys 文件中。
如果没有 ssh-copy-id,也可以手动复制:
cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 登录到你的服务器,编辑 SSH 服务配置文件:
sudo nano /etc/ssh/sshd_config 修改以下关键选项(确保取消注释并设置为如下值):
# 禁用密码登录(前提是确认密钥已生效!)PasswordAuthentication no# 禁用 root 直接登录PermitRootLogin no# 仅允许特定用户登录(可选)AllowUsers your_username# 使用更安全的密钥交换算法(可选增强)KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com 保存后重启 SSH 服务:
sudo systemctl restart sshd ⚠️ 注意:在禁用密码登录前,请务必先测试密钥是否能成功登录!否则可能被锁在服务器外。
如果你为私钥设置了 passphrase,每次使用都要输入密码。可以使用 ssh-agent 缓存私钥:
eval $(ssh-agent -s)ssh-add ~/.ssh/id_ed25519 这样在当前会话中只需输入一次 passphrase,后续连接无需重复输入。
通过以上步骤,你已经完成了 Linux网络优化 中最关键的一步——网络密钥配置。这不仅提升了服务器的安全性,也简化了日常运维操作。记住定期轮换密钥、限制用户权限,并结合防火墙规则,才能实现全面的 Linux安全加固。掌握 SSH密钥管理 是每个 Linux 用户迈向专业运维的重要里程碑!
现在,尝试用新配置的密钥登录你的服务器吧:
ssh user@your_server_ip 如果一切顺利,你将无需输入密码即可安全登录!
本文由主机测评网于2025-11-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511704.html