在云服务器上添加连接用户,核心操作只需三步:用adduser创建账号、用visudo授予权限、用密钥或密码登录验证。这一步是每个运维新手绕不开的关卡,别急着拿root一把梭,把用户体系理清楚,后面少踩很多坑。
云服务器添加用户命令是什么:先分清adduser和useradd
很多教程把这两个命令混着讲,实际用起来差别很大。useradd是底层工具,参数多、默认值少,创建完还得手动设密码、建目录,容易漏步骤。adduser是交互式脚本,一条命令走完流程,自动创建家目录、设置密码、填充用户信息,对新手友好得多,绝大多数云服务器装的Ubuntu、Debian系统里都自带它。
推荐路径:用adduser走交互流程,用useradd做特殊定制,在CentOS或Rocky Linux上,adduser其实是useradd的软链接,行为会不一样,这一点要看清系统再动手。
实操参考,在Ubuntu 22.04上执行:
sudo adduser zhangsan
系统会要求输入密码、确认密码,再填全名、电话等选填信息,一路回车或按需填写即可,如果手头是CentOS,使用:
sudo useradd zhangsan sudo passwd zhangsan
两步完成创建,但家目录、shell都不会自动配置,需要额外补-m参数和-s /bin/bash,下表把两个命令的差异列清楚了:
| 对比项 | adduser | useradd |
|---|---|---|
| 操作方式 | 交互式脚本 | 命令行参数 |
| 是否自动建家目录 | 自动 | 需要-m参数 |
| 是否自动设密码 | 会提示设置 | 需手动passwd |
| 适合场景 | 新手、日常添加 | 批量脚本、复杂定制 |
行业共识认为,手动管理云服务器时优先用adduser,既少记参数,也能避免遗漏关键配置。
云服务器添加用户的步骤:从创建到sudo授权
光有账号还不够,得让这个用户能干活,不同场景需要的权限等级不一样,运维管理员要给sudo,普通开发者只开登录权限就行,想了解具体权限规划时,常见搜索词“云服务器添加用户 permission denied”涉及的就是这块,很多问题出在权限配置上。
给新用户开sudo权限
日常管理服务器需要临时提权,方法是用visudo编辑sudoers文件,更安全的做法是把用户加进sudo组:
sudo usermod -aG sudo zhangsan
Ubuntu/Debian系统用sudo组,CentOS/RHEL系统用wheel组,命令换成sudo usermod -aG wheel zhangsan,加组后,新用户登录执行sudo whoami,返回root即代表生效。
如果想精准控制某个用户只能跑特定命令,用visudo打开配置,加入一行:
zhangsan ALL=(ALL) /usr/bin/systemctl restart nginx
这句话的意思是这个用户只能sudo重启nginx服务,其余命令无权执行,场景化授权比一刀切更符合最小权限原则,出问题时排查面也小。
配置SSH密钥登录
密码登录在暴力破解面前脆得像纸,建议交付密钥,先在本地机器生成密钥对:
ssh-keygen -t ed25519 -C "zhangsan@example.com"
然后拷贝公钥到云服务器:
ssh-copy-id zhangsan@服务器公网IP
拷贝完成后,用新用户身份测试登录,能进来就说明链路通了,如果有“云服务器连接用户失败怎么解决”的疑虑,后面专门讲。
锁定root远程登录
安全加固的最后一步是堵上root直连的口子,编辑/etc/ssh/sshd_config文件,找到两处配置做修改:
PermitRootLogin no
PasswordAuthentication no
改完执行sudo systemctl restart sshd生效。改配置前务必确认新用户能正常登录,否则断了SSH就麻烦,只能跑去VNC或控制台救急。
云服务器连接用户失败怎么解决:从端口到密钥的排查
连接新用户失败是新手高频踩坑区,现象和原因对应关系其实很明确,按顺序排查能省下大量时间。
排查端口和安全组
安全组没放行是云服务器连接用户失败最常见的开端,简米云、酷番云的轻量服务器默认只放行22端口,但如果你换过SSH端口,就得在控制台把新端口加进放行规则,登录控制台,找到“防火墙”或“安全组”页面,确认下面三项:
- 协议选TCP
- 端口填实际SSH端口
- 来源设置为0.0.0.0/0(个人测试)
国内云厂商的控制台路径略有差异,但逻辑完全一样,酷番云在轻量应用服务器控制台左侧“防火墙”标签页,简米云在ECS实例的“安全组”里配置。
排查密钥权限
系统对.ssh目录、authorized_keys文件的权限有严格要求,目录权限得是700,文件权限得是600,过宽的权限会让sshd直接拒绝密钥认证:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
还要检查家目录本身归属,别把/home/zhangsan弄成了root所有,不然用户登录后写不了配置,看起来像连接成功但功能全瘫痪。
排查登录认证方式
如果密钥登录报“Permission denied (publickey)”,用带详细日志的方式连一次:
ssh -v zhangsan@服务器IP
输出里能看到具体卡在哪一步,重点关注“Offering public key”和“Authentication refused”两行,如果是密码登录失败,确认sshd_config里PasswordAuthentication yes没被注释掉。
轻量应用服务器和云服务器哪个好:从用户管理的角度对比
聊到添加用户,不得不提一个高频搜索词“轻量应用服务器和云服务器哪个好”,单看添加用户这个操作,两者没有本质区别,底层都是Linux系统,命令完全通用。
区别在管理入口和权限粒度,轻量应用服务器在控制台提供”一键重置密码””远程登录”等简化按钮,适合个人建站、跑服务,上手门槛低,日常管理走精简版流程,云服务器ECS强调完整控制权,安全组、快照、弹性IP全给你,多用户协作时能按云账号做细分授权,比如RAM子账号配合SSH密钥管理不同的服务器,评论区常见新手纠结价格,这几年轻量服务器的入门年付价格确实更友好,而云服务器优势在于后续扩容自由度高,适合业务规模不确定的场景。
选择逻辑很简单:单人维护、流量不大的业务,轻量够用;团队协作、生产环境、需要精细划权时,选云服务器,两者添加用户的方式和排查思路共享同一套知识,迁移成本几乎为零。
把用户从云服务器上彻底删除:清理家目录和进程
业务调整、员工离职都会涉及删除用户这个操作,别只删账号不删数据,残留的进程和数据会占用磁盘,也有潜在安全风险。
先杀掉该用户的所有进程:
sudo pkill -u zhangsan
再删除用户及家目录:
sudo userdel -r zhangsan
-r参数会连带把/home/zhangsan和邮件池删掉,执行前确认该用户没有需要保留的文件,删除操作不可逆,没有回收站可去,如果想保留数据只锁登录,把shell改为/usr/sbin/nologin即可,就是禁掉交互式登录,文件原封不动:
sudo usermod -s /usr/sbin/nologin zhangsan
常见问题:云服务器添加用户后无法登录怎么办
新用户登录时提示“User zhangsan does not exist”
出现这行提示,多数情况是系统没识别到用户,用id zhangsan检查用户是否存在,再用getent passwd zhangsan看NSS配置是否正常,如果用户实际存在,怀疑是sshd的AllowUsers配置白名单里没写这个用户,编辑/etc/ssh/sshd_config添加进去重启服务。
新用户sudo时提示“zhangsan is not in the sudoers file”
用户没被加进授权列表,执行sudo usermod -aG sudo zhangsan再退出重登,注意CentOS系统把用户加进wheel组,某些发行版还要求/etc/sudoers里对应组的行未被注释。
切换用户时报“bash: /home/zhangsan/.bashrc: Permission denied”
家目录所有权错乱导致的权限冲突,用root执行chown -R zhangsan:zhangsan /home/zhangsan修复归属,然后检查家目录权限至少是755,.bashrc文件权限644,这类场景大多出现在复制其他用户配置目录时忘了改所有者。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/796900.html


