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

火山引擎 最新活动