如何在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怎么显示并拷贝当前文件的路径

    在Linux系统中,我们可以使用命令行工具来显示并拷贝当前文件的路径,这里我们主要介绍两种方法:使用pwd命令和使用readlink命令,下面我们将详细介绍这两种方法,并在末尾提供一个相关问题与解答的栏目。方法一:使用pwd命令pwd命令是“print working directory”的缩写,意为打印工作目录,这个命令会显示当前工……

    2023-12-16
    0141
  • Linux中查找目录和文件的命令介绍

    Linux中查找目录和文件的命令介绍在Linux系统中,我们可以使用各种命令来查找目录和文件,本文将介绍一些常用的查找命令,包括ls、find、grep等。1、ls命令ls(list)命令是Linux中最常用的命令之一,用于列出目录中的文件和子目录,基本语法如下:ls [选项] [目录名]常用选项:-a:显示所有文件,包括隐藏文件(以……

    2024-01-01
    0172
  • linux的防火墙软件有哪些功能

    一、Linux防火墙软件1. iptablesiptables是Linux系统中最常用的防火墙工具,它是一个基于Netfilter的内核模块,可以对数据包进行过滤、转发和修改,iptables支持多种数据包过滤规则,如端口过滤、IP过滤、协议过滤等。2. firewalldfirewalld是Linux系统中的一个动态防火墙管理工具,……

    2023-11-28
    0158
  • linux监听开启后无服务怎么办

    在Linux系统中,监听是一种非常常见的网络通信方式,通过监听,我们可以在特定的端口上接收来自其他计算机的连接请求,有时候我们在开启监听后,可能会遇到无法访问的问题,本文将介绍在Linux中开启监听后无法访问的解决方法。我们需要了解Linux中的端口监听机制,在Linux中,我们可以使用`netstat`命令或`ss`命令来查看当前系……

    2023-11-23
    0181
  • 删除命令 linux「删除命令linux是退出?」

    在Linux操作系统中,删除命令是一个非常重要的工具,它可以帮助用户有效地管理文件系统,本文将深入探讨Linux系统中的删除命令,包括其基本概念、常用命令、操作技巧以及实际应用案例。一、基本概念在Linux系统中,删除命令主要用于删除文件或目录,当用户执行删除命令时,系统会将指定的文件或目录从文件系统中移除,使其不再占用存储空间,需要……

    2023-11-07
    0182
  • linux静默安装oracle11g步骤

    在Linux环境下,静默安装Oracle 11g是一个常见的需求,静默安装是指在安装过程中不需要用户进行任何交互操作,所有的配置和参数都通过命令行参数或者预先定义的配置文件来完成,这种方式可以大大简化安装过程,提高效率,由于Oracle 11g的复杂性,静默安装过程中可能会遇到各种问题,本文将介绍一些常见的问题及其解决方法。环境准备在……

    2024-02-29
    0174

发表回复

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

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