如何取消服务器登录密码并使用密钥登录?

HCRM技术_小炮 云服务器 2025-06-30 319 0

服务器怎么取消登录密码

服务器怎么取消登录密码

深夜,服务器突然告警,你尝试登录却连续输错三次密码被临时锁定,重启又怕影响业务... 这种场景是否熟悉?依赖密码登录服务器,在当今环境下如同用木门抵挡现代窃贼,取消密码,拥抱更安全的密钥认证,是高效运维的必经之路。

一、 为什么要取消密码登录?

安全加固 密码易遭暴力破解、钓鱼窃取;密钥(公钥/私钥)加密强度极高,破解几无可能。

效率提升 无需记忆或输入密码,SSH连接瞬间完成,自动化脚本(如备份、部署)运行更顺畅。

符合最佳实践 专业运维团队及云平台(AWS、阿里云、腾讯云等)均强烈推荐禁用密码登录。

二、 如何实施密钥登录并取消密码?

核心步骤:生成密钥对 > 部署公钥到服务器 > 配置SSH禁用密码 > 严格测试

服务器怎么取消登录密码

1、本地生成密钥对 (在您的电脑上操作)

* 打开终端 (Linux/macOS) 或 PowerShell/CMD (Windows 10/11 若已安装 OpenSSH)。

执行命令ssh-keygen -t ed25519 (推荐) 或ssh-keygen -t rsa -b 4096

按提示选择保存位置(默认即可)和设置密钥密码(可选,增加一层保护),生成两个文件id_ed25519 (私钥,绝密!) 和id_ed25519.pub (公钥)。

2、上传公钥到目标服务器 (仍需密码登录一次)

服务器怎么取消登录密码

使用命令ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your_server_ip

* 输入服务器密码完成上传,公钥会自动添加到服务器用户家目录下的~/.ssh/authorized_keys 文件中。

3、测试密钥登录 (关键!)

新开一个终端窗口! 执行ssh username@your_server_ip

* 若配置正确,应无需输入服务器密码即可登录(如果设置了密钥密码,需输入密钥密码)。

此步成功至关重要! 确认后再进行下一步。

4、禁用服务器密码登录 (在服务器上操作)

* 使用密钥登录服务器(或保持上一步已登录的状态)。

编辑 SSH 服务端配置文件sudo nano /etc/ssh/sshd_config (使用 vi/vim 亦可)。

找到并修改以下参数

PasswordAuthentication yes 改为PasswordAuthentication no

ChallengeResponseAuthentication yes 改为ChallengeResponseAuthentication no (如果存在)

UsePAM yes 改为UsePAM no (如果存在且确定不影响其他服务,或保持yes 但确保上面两项为no 通常更安全)

* 保存文件 (nano:Ctrl+O,Enter; vi/vim::wq)。

重启 SSH 服务使配置生效

* Ubuntu/Debian:sudo systemctl restart ssh

* CentOS/RHEL:sudo systemctl restart sshd

5、最终验证

再次新开一个终端窗口,尝试用密码登录ssh username@your_server_ip

此时应直接拒绝访问 (Permission denied),不再提示输入密码。

使用密钥登录ssh username@your_server_ip 应能正常登录。

三、 重要注意事项与风险管理

私钥是命脉id_ed25519id_rsa 文件等同于万能钥匙,务必:

* 妥善保存在安全位置,永不发送给他人或上传到网络。

* 强烈建议设置强壮的密钥密码 (ssh-keygen 时设置)。

限制私钥文件权限chmod 600 ~/.ssh/id_ed25519

备份访问途径

* **禁用密码前,务必确保密钥登录在 *独立会话* 中 100% 可用!

* 保留一个通过控制台/救援模式/VNC 等不依赖 SSH 的备用登录方式(云服务器通常提供),以防密钥丢失或配置错误导致自己也被锁在外面。

多用户管理 每个需要登录的用户都应在服务器上自己的~/.ssh/authorized_keys 文件中部署其个人的公钥。

防火墙配合 仅允许受信任的 IP 访问服务器的 SSH 端口 (默认 22),进一步提升安全。

四、 Windows 服务器 (OpenSSH)

现代 Windows Server 已内置 OpenSSH 服务端,步骤类似:

1、 在本地生成密钥 (可用 PowerShell 的ssh-keygen 或 PuTTYgen)。

2、 将公钥内容手动添加到服务器对应用户目录下的C:\Users\username\.ssh\authorized_keys 文件中(需先创建.ssh 目录和文件)。

3、 测试密钥登录。

4、 以管理员身份编辑C:\ProgramData\ssh\sshd_config 文件,设置PasswordAuthentication no

5、 重启 SSH 服务:Restart-Service sshd

密钥认证不是可选项,而是专业服务器管理的基石。 密码登录如同敞开大门邀请攻击者,果断禁用它,是对业务数据最基本的责任担当。

文章摘自:https://idc.huochengrm.cn/fwq/9880.html

评论