服务器怎么取消登录密码
深夜,服务器突然告警,你尝试登录却连续输错三次密码被临时锁定,重启又怕影响业务... 这种场景是否熟悉?依赖密码登录服务器,在当今环境下如同用木门抵挡现代窃贼,取消密码,拥抱更安全的密钥认证,是高效运维的必经之路。
安全加固 密码易遭暴力破解、钓鱼窃取;密钥(公钥/私钥)加密强度极高,破解几无可能。
效率提升 无需记忆或输入密码,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_ed25519
或id_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
评论