CentOS系统中创建用户并启用SSH密钥登录的步骤

0 下载量 168 浏览量 更新于2024-08-28 收藏 86KB PDF 举报
"本文主要介绍了如何在CentOS 7.6.1810系统上创建新用户并启用SSH密钥登录,同时禁止root用户的直接登录,以提高系统的安全性与管理效率。" 在CentOS操作系统中,为了实现更安全、更有效的权限管理,通常会避免直接使用root用户进行日常操作,而是创建具有特定权限的普通用户。在这个过程中,我们将学习如何使用`useradd`命令创建新用户,并配置SSH密钥对认证,以实现无密码登录。 首先,让我们了解`useradd`和`adduser`的关系。在CentOS中,这两个命令实际上是一致的,`adduser`只是`useradd`的软链接,功能相同。它们用于创建新的系统用户。例如,我们可以执行以下命令创建名为"luizyao"的新用户: ```bash [root@centos_7_6_1810 ~]# useradd luizyao ``` 创建用户后,系统会在/home目录下创建一个与用户名同名的目录,作为该用户的工作空间。执行`ls /home`即可查看新创建的用户目录。 接下来,我们需要为新用户设置密码,以便通过SSH登录。使用`passwd`命令: ```bash [root@centos_7_6_1810 ~]# passwd luizyao ``` 按照提示输入新密码并确认。 然后,我们生成SSH密钥对。这通常在新用户的家目录下执行,确保私钥(id_rsa)不被共享,公钥(id_rsa.pub)可以放在远程服务器的授权钥匙列表中。在新用户的终端中运行: ```bash su - luizyao ssh-keygen ``` 按回车键接受默认位置保存密钥对,无需设置密码。 接着,将生成的公钥复制到远程服务器的`.ssh/authorized_keys`文件中。如果文件不存在,需要先创建它: ```bash mkdir ~/.ssh touch ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 644 ~/.ssh/authorized_keys cat ~/.ssh/id_rsa.pub | ssh [remote_user]@[remote_host] 'cat >> ~/.ssh/authorized_keys' ``` 这里,`[remote_user]`是远程服务器上的用户名,`[remote_host]`是远程服务器的IP或域名。 最后,为了增强安全性,我们通常会禁止root用户通过SSH直接登录。编辑`/etc/ssh/sshd_config`文件,找到`PermitRootLogin`行并将其改为`PermitRootLogin no`,然后重启SSH服务: ```bash sudo vi /etc/ssh/sshd_config sudo systemctl restart sshd ``` 现在,新用户luizyao已经可以使用SSH密钥对无密码登录了,而root用户则无法直接通过SSH接入,从而提高了系统的安全性。 总结,创建新用户并启用SSH密钥登录的过程包括:使用`useradd`创建用户,设置用户密码,生成并配置SSH密钥对,以及禁用root用户的SSH登录。这一系列操作有助于实现权限分离,提升系统安全性和管理效率。