如何在Linux系统中为SSH添加新用户并配置SSH密钥?

要在Linux中添加SSH用户并设置SSH密钥,首先创建一个新的用户,然后为该用户生成SSH密钥对,最后将公钥添加到authorized_keys文件中。以下是具体操作步骤:,,1. 创建新用户(以用户名newuser为例):,``,sudo adduser newuser,`,,2. 为新用户生成SSH密钥对:,`,sudo su newuser,sshkeygen,`,按提示操作,可以选择默认路径和设置密码短语。,,3. 将公钥添加到authorized_keys文件中:,`,cat ~/.ssh/id_rsa.pub | ssh 'localhost' "mkdir p ~/.ssh && cat >> ~/.ssh/authorized_keys",`,,4. 修改新用户的SSH目录权限:,`,chmod 700 ~/.ssh,chmod 600 ~/.ssh/authorized_keys,`,,新用户newuser`已经可以使用SSH密钥进行身份验证了。

在Linux系统中,添加SSH用户并设置SSH key是一种常见的操作,主要用于安全地远程访问和管理服务器,下面是详细的步骤和解释:

linux添加ssh用户_添加ssh key
(图片来源网络,侵删)

创建新的SSH用户

1、打开终端

在Linux系统中,首先需要打开一个终端窗口。

2、创建新用户

使用useradd命令来创建一个新用户,要创建一个名为newuser的用户,可以使用以下命令:

linux添加ssh用户_添加ssh key
(图片来源网络,侵删)

```bash

sudo useradd newuser

```

这里使用sudo是因为创建用户通常需要管理员权限。

3、为新用户设置密码

linux添加ssh用户_添加ssh key
(图片来源网络,侵删)

使用passwd命令为用户设置密码:

```bash

sudo passwd newuser

```

系统会提示你输入并确认新用户的密码。

4、创建用户主目录

虽然useradd命令默认会创建用户的家目录,但有时可能需要确保其存在或具有正确的权限,可以使用以下命令:

```bash

sudo mkdir /home/newuser

sudo chown newuser:newuser /home/newuser

```

5、创建用户登录的shell

你需要为新用户指定一个shell,如Bash,可以修改/etc/passwd文件或者使用usermod命令:

```bash

sudo usermod s /bin/bash newuser

```

生成SSH Key对

1、检查是否存在密钥文件

在用户的家目录下,检查.ssh目录是否存在:

```bash

ls a /home/newuser/.ssh

```

如果不存在,需要创建它:

```bash

sudo mkdir /home/newuser/.ssh

```

2、生成SSH密钥对

使用sshkeygen命令在用户家目录下生成新的SSH密钥对:

```bash

sudo u newuser sshkeygen t rsa

```

该命令会生成一个RSA类型的密钥对,包括私钥和公钥,私钥默认保存为~/.ssh/id_rsa,公钥保存为~/.ssh/id_rsa.pub

期间,系统会询问保存私钥的文件路径及其密码(可选),通常可以直接按回车使用默认值。

配置SSH服务端

1、编辑SSH配置文件

使用文本编辑器打开SSH服务器配置文件/etc/ssh/sshd_config

```bash

sudo nano /etc/ssh/sshd_config

```

查找并确保以下行未被注释(去掉行首的#):

```ini

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication yes

```

这些设置允许使用公钥认证,并开启了密码认证作为备选。

2、重启SSH服务

应用更改并重启SSH服务:

```bash

sudo systemctl restart ssh

```

将公钥添加到授权密钥文件

1、创建授权密钥文件

在新用户的.ssh目录中创建授权密钥文件:

```bash

sudo touch /home/newuser/.ssh/authorized_keys

```

2、添加公钥到授权密钥文件

将新用户的公钥内容复制到授权密钥文件中:

```bash

sudo cat /home/newuser/.ssh/id_rsa.pub >> /home/newuser/.ssh/authorized_keys

```

确保authorized_keys文件的权限正确:

```bash

sudo chmod 600 /home/newuser/.ssh/authorized_keys

```

3、测试SSH连接

从另一台机器或本机测试SSH连接到新用户:

```bash

ssh newuser@localhost

```

或使用实际服务器地址替换localhost,如果配置正确,应该无需输入密码即可登录。

通过上述步骤,你可以在Linux系统中创建一个新用户,并为其配置SSH密钥对以及相应的服务器设置,从而实现安全的远程访问,这种方法比单纯使用密码更安全,因为密钥提供了更强的加密和认证机制。

相关问题与解答

Q1: 如果我想限制新用户的SSH访问权限,应该如何操作?

A1: 你可以通过编辑/etc/ssh/sshd_config文件来实现,可以在文件末尾添加如下内容来限制特定用户的访问权限:

```ini

Match User newuser

AllowUsers newuser

```

这样设置后,只有newuser可以从SSH登录,还可以限制命令集、设置登录Shell等。

Q2: 如何在不重启SSH服务的情况下应用配置更改?

A2: 通常情况下,编辑了sshd_config文件后需要重启SSH服务以使更改生效,如果你不想重启整个服务,可以使用命令sudo systemctl reload ssh来重新加载配置而不需要完全重启服务,这在生产环境中非常有用,因为可以避免服务的短暂中断。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/589428.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年8月16日 22:33
下一篇 2024年8月16日 23:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入