You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH密码登录问题:DigitalOcean Droplet新建用户无法登录求助

解决DigitalOcean Droplet新用户无法密码登录SSH的问题

Hey there! Let me break down why you're hitting this error and walk you through fixing it.

为什么默认没法用密码登录?

DigitalOcean的Droplet默认全局禁用了SSH密码登录——不管是root还是新创建的用户,默认都只允许SSH密钥认证登录。这是平台出于安全考虑的默认设置,用来降低暴力破解的风险。你能以root身份登录,是因为创建Droplet时,你的公钥已经被自动添加到/root/.ssh/authorized_keys文件里了;而新用户newuser既没有配置密钥,又被禁用了密码登录,自然就会弹出Permission denied (publickey)的提示。

配置步骤:允许新用户密码登录

按照下面的步骤操作,就能让newuser通过密码登录SSH:

  1. 先登录到Droplet:继续用root身份通过密钥登录,或者如果已经给newuser配置过密钥,也可以用ssh newuser@111.11.111.11登录。
  2. 编辑SSH服务的核心配置文件:
    打开sshd_config文件:
    nano /etc/ssh/sshd_config
    
  3. 调整关键配置项:
    在文件里找到以下几个配置,修改它们的取值:
    • 找到PasswordAuthentication,把它改成yes(默认可能是no或者被#注释掉,记得去掉注释再修改)
    • 确保ChallengeResponseAuthentication的值是no(这个配置是禁用键盘交互认证,不影响密码登录)
    • 可选:如果想同时保留密钥登录和密码登录,保持PubkeyAuthentication yes不变;如果只想用密码登录,可以改成no。
  4. 保存并退出编辑器:
    在nano里按Ctrl+O,按回车确认保存,再按Ctrl+X退出。
  5. 重启SSH服务让配置生效:
    systemctl restart sshd
    
  6. 确保新用户有可用密码:
    如果创建newuser时没设置密码,或者想修改密码,执行:
    passwd newuser
    
    跟着提示输入并确认新密码就好。

安全小提醒

开启密码登录后,一定要保证newuser的密码足够复杂(混合大小写字母、数字和特殊字符),避免被暴力破解。要是担心安全,还可以安装fail2ban工具,它能自动封禁多次登录失败的IP。

内容的提问来源于stack exchange,提问作者Woodchuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:14:58