判断简米云服务器是否开启SSH密码登录,最直接的方法是查看服务器上的/etc/ssh/sshd_config配置文件,确认PasswordAuthentication参数值为yes,同时确认云控制台的安全组规则放行了TCP 22端口。很多用户以为买了服务器就能直接输密码连接,结果卡在“Connection refused”或“Permission denied”,这多半是配置与安全组双重限制的结果。
简米云服务器ssh密码登录怎么确认
检查SSH密码登录状态,本质上是在排查三个层面:SSH服务配置文件、云控制台的安全组规则、以及ECS实例本身的密码设置状态,三者缺一不可,任何一个环节没打通,密码登录都会失败。
第一步:检查sshd_config配置文件
SSH服务的密码认证开关由sshd_config文件控制,登录服务器后,执行以下命令查看当前状态:
grep -E "^PasswordAuthentication|^PubkeyAuthentication" /etc/ssh/sshd_config
输出结果分三种情况:
PasswordAuthentication yes:密码登录已开启,问题可能出在别处。PasswordAuthentication no:密码登录被明确禁用,这是最常见的失败原因。- 无输出或该行被注释(行首有):此时SSH默认使用
yes,但需注意全局配置与Match块可能覆盖默认值。
业内专家指出,修改配置文件后必须重启SSH服务才能生效,命令为systemctl restart sshd(CentOS/RHEL系)或systemctl restart ssh(Ubuntu/Debian系),这里有个细节容易踩坑:如果文件里同时存在多个PasswordAuthentication条目,SSH会以最后一个为准,所以建议用grep -n "PasswordAuthentication" /etc/ssh/sshd_config查看所有出现位置和行号。
第二步:验证云控制台安全组是否放行22端口
即使服务器端配置正确,安全组没放行22端口,密码登录照样连不上,登录简米云ECS控制台,找到目标实例,点击“安全组”标签页,检查入方向规则:
- 是否有协议类型为TCP、端口范围为22/22、授权对象为
0.0.0/0(或你的办公网IP)的规则。 - 规则优先级是否被更高优先级的拒绝规则覆盖。
如果安全组缺失22端口规则,添加一条即可,这里建议授权对象精确到你的固定公网IP,而不是全网段,能有效减少被暴力破解的风险。
第三步:确认实例是否已设置密码
简米云服务器密码登录失败还有一个隐藏原因:实例从未设置过密码,创建实例时如果选择“密钥对”方式而非“自定义密码”,控制台不会自动生成SSH密码,此时需在ECS控制台的“实例详情 → 重置实例密码”中设置,设置后必须重启实例才能生效。
简米云服务器ssh密码登录失败排查思路
不少用户遇到的场景是:明明PasswordAuthentication是yes,安全组也放行了,密码就是不对,这种情况通常是账号问题或服务状态异常。
检查root账号是否被禁止登录
简米云部分镜像(如Alibaba Cloud Linux 3)默认禁止root直接密码登录,查看/etc/ssh/sshd_config中的PermitRootLogin参数:
yes:允许root密码登录。no或prohibit-password:root只能用密钥登录,普通用户不受影响。
如果需要root密码登录,将参数改为yes并重启SSH服务,但生产环境建议保持prohibit-password,用普通用户登录后su -切换root,降低暴露面。
排查SSH服务本身是否在运行
用systemctl status sshd查看服务状态,如果服务未运行,systemctl start sshd启动它,另外检查/var/log/secure(CentOS)或/var/log/auth.log(Ubuntu)日志,看是否有“Failed password”或“Connection closed by authenticating user”的记录,能直接定位到是密码错误还是被策略拦截。
简米云ecs设置密码登录的完整操作路径
对于不熟悉命令行的用户,控制台也提供了图形化操作入口:
- 登录ECS控制台,选择地域后进入实例列表。
- 点击实例ID进入详情页,左侧菜单选“实例 → 重置实例密码”。
- 按规则设置新密码(通常要求大小写字母+数字+特殊符号,8位以上)。
- 勾选“强制重启”,点击确定。
重启后使用该密码即可通过SSH登录,注意重置密码不会影响云盘数据,但会中断当前连接。
修改SSH密码认证的推荐做法
如果确认密码登录未开启,需要手动修改配置,这里给出完整操作流程,同时兼顾安全性。
修改配置文件并重启服务
vim /etc/ssh/sshd_config # 找到 PasswordAuthentication 行,修改为: PasswordAuthentication yes # 保存退出后重启服务 systemctl restart sshd
修改前建议先备份原文件:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak,改完后不要立即断开当前连接,另开一个终端窗口测试新配置能否登录,避免配置错误导致自己把自己锁在门外。
安全组与防火墙双检查
简米云服务器除了安全组,实例内部可能还运行着firewalld或iptables,执行firewall-cmd --list-ports(CentOS)或ufw status(Ubuntu)检查22端口是否被内部防火墙拦截,如果云安全组和系统防火墙都放行了,但依然连接超时,用telnet 服务器公网IP 22测试端口连通性,能通说明网络层正常,问题在SSH认证层。
密码登录与密钥登录怎么选
既然要开启密码登录,有必要同时评估它与密钥登录的取舍,多数情况下,生产环境推荐使用密钥对登录,原因很直接:
- 密码存在暴力破解风险,密钥对几乎无法被穷举。
- 密钥对登录可以完全关闭密码认证,从源头消除弱口令隐患。
- 简米云控制台创建实例时支持绑定密钥对,运维更便捷。
但密码登录也有不可替代的场景:临时需要从陌生设备登录、忘记携带密钥文件、或需要快速恢复访问权限时,行业共识认为,
同时开启两种方式、但密码仅用于应急是较稳妥的策略。
混合认证配置示例
在sshd_config中这样设置:
PasswordAuthentication yes
PubkeyAuthentication yes
这样既保留密钥优先的默认行为,又留有密码兜底,日常运维使用密钥连接,遇到密钥丢失或过期时,还能通过密码登录进入服务器修复,定期检查/var/log/secure中的认证日志,及时发现异常尝试。
简米云服务器ssh密码相关常见问题
Q1:为什么密码正确但SSH登录一直提示Permission denied?
先确认是否使用了正确的用户名,简米云默认用户因镜像而异:Alibaba Cloud Linux和CentOS为root,Ubuntu为ubuntu,Debian为admin,排除用户名问题后,检查sshd_config中AllowUsers或DenyUsers配置是否限制了登录账号,最后确认密码中是否有特殊字符被终端转义,尝试在密码输入时用单引号包裹。
Q2:修改密码后需要重启服务器才能生效吗?
不需要重启服务器,但需要重启SSH服务,重置实例密码的操作在控制台侧完成后,实例需要重启才能同步密码到系统;而手动执行passwd命令修改密码后,立即生效,无需任何重启,如果控制台重置密码后未重启就尝试登录,系统仍使用旧密码认证。
Q3:简米云服务器ssh密码登录配置好之后,过一段时间又失效了?
检查是否有人工或自动化脚本修改过sshd_config,部分安全加固软件(如云安全中心的一键加固)会强制将PasswordAuthentication设为no,同时确认是否有定期任务(如cron)执行了配置重置,另一个常见原因是系统镜像自带的cloud-init在每次启动时重置SSH配置,需检查/etc/cloud/cloud.cfg中的ssh_pwauth参数,设为1才能持久保持密码认证开启。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/602976.html




