在日常的Linux服务器管理中,每次登录都输入密码不仅繁琐,还存在密码泄露的风险。通过配置SSH免密码登录(也称为SSH密钥认证),你可以实现既安全又高效的远程连接。本文将详细介绍在Linux系统中设置SSH密钥登录的完整步骤,即使是新手也能轻松掌握。
在本地终端中执行以下命令,开始生成密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 参数说明:-t rsa指定密钥类型为RSA,-b 4096设置密钥长度为4096位(更安全),-C后添加注释(通常是邮箱)。执行后,系统会提示你设置密钥保存路径(默认~/.ssh/id_rsa)和密码短语(passphrase)。如果希望实现完全免密,可以直接回车跳过密码短语设置。生成成功后,你会得到两个文件:私钥(id_rsa)和公钥(id_rsa.pub)。
使用ssh-copy-id命令可以方便地将公钥添加到远程主机的授权列表:
ssh-copy-id 用户名@远程服务器IP 例如:ssh-copy-id root@192.168.1.100。该命令会提示你输入远程用户的密码,然后自动将本地公钥追加到远程服务器的~/.ssh/authorized_keys文件中,并设置正确的权限。如果没有ssh-copy-id命令,也可以手动复制:cat ~/.ssh/id_rsa.pub | ssh 用户名@远程服务器IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"。
现在尝试从本地登录远程服务器:
ssh 用户名@远程服务器IP 如果配置正确,你将直接进入远程系统的Shell,无需输入密码。如果仍然提示输入密码,请检查以下常见问题:
~/.ssh目录权限应为700,authorized_keys文件权限应为600。/etc/ssh/sshd_config,确保PubkeyAuthentication设为yes,并重启服务sudo systemctl restart sshd。chmod 600 ~/.ssh/id_rsa。完成Linux SSH配置后,为了进一步增强安全性,可以考虑禁用密码登录,只允许密钥认证。编辑/etc/ssh/sshd_config,设置PasswordAuthentication no,然后重启SSH服务。这样即使密码泄露,攻击者也无法通过密码登录,实现了真正的安全远程登录。
通过以上步骤,你已成功在Linux上配置了SSH免密码登录。密钥认证不仅简化了登录流程,还大幅提升了系统安全性。掌握SSH密钥认证是Linux管理员必备技能,希望本文能帮助你顺利实现这一目标。如果在操作中遇到任何问题,欢迎在评论区留言交流。
本文由主机测评网于2026-02-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20260225221.html