在CentOS系统中创建用户并配置SSH访问是服务器管理中的基础操作,也是确保系统安全性和便捷管理的重要环节,本文将详细介绍如何在CentOS系统中创建新用户、设置密码、配置SSH访问权限,以及相关的安全最佳实践,帮助用户高效完成用户与权限管理任务。

创建新用户
在CentOS系统中,可以使用useradd或adduser命令创建新用户。useradd是底层的命令,功能更全面;adduser则是useradd的符号链接,提供了更友好的交互式界面,以下是具体操作步骤:
使用useradd命令创建用户
sudo useradd -m -s /bin/bash username
-m:自动创建用户的主目录(默认位于/home/username)。-s /bin/bash:指定用户的默认Shell,/bin/bash是常用的交互式Shell。username:自定义用户名,例如testuser。
设置用户密码
创建用户后,需通过passwd命令设置密码:
sudo passwd username
根据提示输入两次密码,密码不会显示在终端中,输入完成后按回车键确认。
验证用户创建
使用id命令检查用户是否创建成功:
id username
若输出显示用户ID(UID)、主目录(Home directory)等信息,则表示创建成功。
用户创建常用选项
以下是useradd命令的常用参数及其说明:
| 参数 | 说明 | 示例 |
|---|---|---|
-m | 创建用户主目录 | useradd -m username |
-s | 指定Shell | useradd -s /bin/zsh username |
-d | 指定主目录路径 | useradd -d /custom/path username |
-g | 指定主组 | useradd -g sudo username |
-G | 指定附加组 | useradd -G docker,username |
配置SSH访问
SSH(Secure Shell)是远程管理服务器的安全协议,通过配置SSH可以实现加密的远程登录,以下是配置SSH访问的详细步骤:
检查SSH服务状态
确保SSH服务已安装并运行:

sudo systemctl status sshd
若未安装,可通过以下命令安装:
sudo yum install openssh-server -y
安装后启动SSH服务并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd
为新用户分配SSH访问权限
默认情况下,新用户无法通过SSH登录,需进行以下配置:
(1)创建SSH目录和授权文件
sudo mkdir -p /home/username/.ssh sudo touch /home/username/.ssh/authorized_keys sudo chown -R username:username /home/username/.ssh sudo chmod 700 /home/username/.ssh sudo chmod 600 /home/username/.ssh/authorized_keys
chown:设置目录所有者为用户username。chmod:设置目录权限为700(仅所有者可读写执行),授权文件权限为600(仅所有者可读写)。
(2)添加公钥到授权文件
将客户端的公钥(通常位于~/.ssh/id_rsa.pub)追加到服务器的authorized_keys文件中:
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." >> /home/username/.ssh/authorized_keys
或使用ssh-copy-id命令自动传输公钥:
ssh-copy-id username@server_ip
禁用root用户SSH登录(安全建议)
为增强安全性,建议禁止root用户直接通过SSH登录:
编辑SSH配置文件:
sudo vim /etc/ssh/sshd_config
找到以下行并取消注释,将yes改为no:
PermitRootLogin no 保存后重启SSH服务:

sudo systemctl restart sshd
SSH配置常用参数
以下是/etc/ssh/sshd_config中的关键参数及说明:
| 参数 | 说明 | 默认值 | 推荐值 |
|---|---|---|---|
Port | SSH监听端口 | 22 | 22(或自定义端口) |
PermitRootLogin | 是否允许root登录 | yes | no |
PasswordAuthentication | 是否允许密码登录 | yes | no(仅密钥登录) |
AllowUsers | 允许登录的用户 | 无 | username1 username2 |
安全最佳实践
在创建用户和配置SSH时,需遵循以下安全原则:
- 使用强密码:确保用户密码包含大小写字母、数字和特殊字符,长度至少12位。
- 禁用密码登录:优先使用SSH密钥对认证,避免暴力破解风险。
- 限制登录IP:在
sshd_config中添加AllowUsers或DenyUsers限制访问来源。 - 定期更新系统:运行
sudo yum update -y保持系统和软件包最新。 - 配置防火墙:仅开放必要端口(如SSH的22端口),其他端口可禁用:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
相关问答FAQs
问题1:如何修改用户的主目录?
答:使用usermod命令修改用户主目录,例如将用户testuser的主目录改为/custom/path:
sudo usermod -d /custom/path -m testuser
其中-m参数会自动将旧主目录的文件迁移到新路径。
问题2:SSH连接失败时如何排查?
答:可按以下步骤排查:
- 检查SSH服务状态:
sudo systemctl status sshd。 - 查看SSH日志:
sudo tail -f /var/log/secure,重点关注认证失败信息。 - 验证防火墙规则:
sudo firewall-cmd --list-all,确保SSH端口已开放。 - 检查用户权限:确认
authorized_keys文件权限为600,所有者为用户本身。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复