[OS-Linux] 创建新用户以及 使用私钥登录Linux

简介: [OS-Linux] 创建新用户以及 使用私钥登录Linux

简介

💻Linux发行版本:CentOS 7.x

🔊 我们使用ssh 服务登录服务器时,如果用用户名和密码登录时(超户基本都叫root,名字知道了,下面你们懂得),极其不安全。如果使用密钥对登录的方式,对咱们的服务器来说,等于又添加了一道枷锁,(让坏人更加难以进入我们的服务器为所欲为)。那么我们就来看一下密钥对如何设置吧

方法 / 步骤

一: 添加用户

1.1 创建新用户

Linux 创建新用户,当前用户必须为 root 用户

useradd [用户名]      // 默认主文件夹在 `/home` 目录 
passwd [用户名]        // 设置用户密码

在这里插入图片描述

1.2 新用户授权

新创建的用户并不能使用 sudo 命令,需要给他添加授权。

chmod -v u+w /etc/sudoers

在这里插入图片描述

  • 修改 sudoers 文件,使用 vim 编辑器打开 sudoers 文件

在 sudoers 文件中找到如下位置并添加如下内容:

[用户名]    ALL=(ALL)    ALL (若新用户需要使用 sudo 时不输密码, 则将此行最后一个 ALL 改为 NOPASSWD:ALL 即可)

在这里插入图片描述

用户操作其他命令

Linux 删除用户账号和主目录

userdel -r [用户名]

二: 设置私钥登录Linux

2.1 生成密钥

进入MobaXterm - 工具 - SSH密钥生成器
在这里插入图片描述

第二步:选择算法,生成密钥对(点击generate即可)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
保存公钥 ssh-ras.pub
保存私钥 ssh-rsa-xx-key.ppk

2.2 服务配置

将公钥文件ssh-ras.pub 上传的目标服务器 /root/.ssh/ 目录下

2.2.1 配置 ssh 使用密钥

#进入 ssh 目录
cd /root/.ssh/

#将ssh-ras.pub 公钥信息 追加写入到 authorized_keys 文件中(如果没有则创建)
cat id_rsa.pub >> authorized_keys
#设置公钥权限(用户读写权限)
chmod 600 authorized_keys
#设置ssh文件夹权限(用户读写执行权限)
chmod 700 ~/.ssh

2.2.2 修改 ssh 配置文件


#打开修改
vi  /etc/ssh/sshd_config


# 然后对应如下修改:
 
StrictModes no  
AuthorizedKeysFile  .ssh/authorized_keys      #ssh文件位置,此项默认设置相同
RSAAuthentication  yes        # RSA秘钥认证
PubkeyAuthentication  yes    # 公钥认证
PasswordAuthentication  no    #使用密码  no为不使用密码

为了保证安全,我们建议密码和密钥同时使用。完成以上步骤设置后,重启 sshd 服务:

systemctl restart sshd.service
service sshd restart

参考资料 & 致谢

目录
相关文章
|
15天前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
37 0
Vanilla OS:下一代安全 Linux 发行版
|
18天前
|
人工智能 安全 Linux
|
1月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
2月前
|
安全 Linux 网络安全
Linux生成公钥和私钥 | 14
Linux生成公钥和私钥 | 14
|
1月前
|
安全 搜索推荐 Ubuntu
|
3月前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
129 0
Linux查看和剔除当前登录用户详细教程
|
3月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
3月前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
3月前
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?