如何在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

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-08-16 22:33
Next 2024-08-16 23:26

相关推荐

  • linux的hz获取命令?

    在Linux系统中,了解系统的运行状态是至关重要的,系统时钟频率(Hz)是一个关键的性能指标,它可以帮助我们了解CPU的运行速度,本文将详细介绍如何在Linux系统中获取系统时钟频率(Hz)。一、什么是系统时钟频率(Hz)?系统时钟频率,简称为Hz,是指计算机处理器每秒钟执行的指令数,它是衡量计算机性能的一个重要指标,通常以兆赫兹(M……

    2023-11-07
    0168
  • linux怎么修改文件内容并保存

    在Linux系统中,我们可以使用文本编辑器来修改文件内容并保存,常用的文本编辑器有Vim、Nano和Emacs等,本文将介绍如何使用这些编辑器修改文件内容并保存。使用Vim编辑器修改文件内容并保存1、打开终端,输入以下命令安装Vim(如果已经安装,请跳过此步骤):sudo apt-get install vim2、使用Vim打开文件,……

    2024-01-19
    0338
  • 国内linux主机怎么重启系统

    您可以使用以下命令重启Linux主机:,,- 使用shutdown命令关闭和重启Linux系统。通用语法如下:# shutdown [OPTION] [TIME] [MESSAGE]。要立即关闭Linux机器,请运行下面的命令:# shutdown -h now。

    2024-01-04
    0154
  • Linux中的ls命令的用法

    ls命令的基本用法ls命令是Linux系统中最常用的命令之一,用于列出目录中的文件和子目录,它的基本用法如下:ls [选项] [文件或目录]1、显示当前目录的内容:ls2、显示指定目录的内容:ls /path/to/directory3、显示指定目录下的文件和子目录:ls -l /path/to/directory4、显示指定目录下的……

    2023-12-21
    0125
  • Linux基础命令IP的用法

    Linux基础命令IP的用法在Linux系统中,我们经常需要使用一些基础命令来操作和管理网络,其中IP(Internet Protocol,互联网协议)是一个非常重要的概念,本文将介绍Linux中IP命令的基本用法,包括查看IP地址、修改IP地址等。1. 查看IP地址要查看本机的IP地址,可以使用ifconfig或ip addr命令,……

    2023-12-19
    0140
  • 怎么远程检测Linux服务器中内存占用情况

    远程检测Linux服务器中内存占用情况的方法在Linux系统中,我们可以使用多种命令来查看服务器的内存占用情况,以下是一些常用的命令:1、free命令free命令是最简单的查看内存使用情况的命令,它可以显示系统的总内存、已使用内存、空闲内存等信息,要查看内存使用情况,只需在终端输入free -h,然后按回车键。-h选项表示以人类可读的……

    2023-12-23
    0161

发表回复

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

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