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


    简介

    💻Linux发行版本:CentOS 7.x

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

    方法 / 步骤

    一: 添加用户

    1.1 创建新用户

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

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

    在这里插入图片描述

    1.2 新用户授权

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

    chmod -v u+w /etc/sudoers
    
    • 1

    在这里插入图片描述

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

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

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

    在这里插入图片描述

    用户操作其他命令

    Linux 删除用户账号和主目录

    userdel -r [用户名]
    
    
    • 1
    • 2

    二: 设置私钥登录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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2.2.2 修改 ssh 配置文件

    
    #打开修改
    vi  /etc/ssh/sshd_config
    
    
    # 然后对应如下修改:
     
    StrictModes no  
    AuthorizedKeysFile  .ssh/authorized_keys      #ssh文件位置,此项默认设置相同
    RSAAuthentication  yes		# RSA秘钥认证
    PubkeyAuthentication  yes	# 公钥认证
    PasswordAuthentication  no	#使用密码  no为不使用密码
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    systemctl restart sshd.service
    service sshd restart
    
    • 1
    • 2

    参考资料 & 致谢

  • 相关阅读:
    贝叶斯视角下的机器学习
    RK3588平台开发系列讲解(安卓篇)Android12 获取 root 权限
    触摸屏实验
    threejs 3D标注
    Segmentation-Based Deep-Learning Approach for Surface-Defect Detection-论文阅读笔记
    Android中activity详解
    关于DDD的贫血模型和充血模型到底是什么区别?
    spark ui的job数,stage数以及task数
    html实现邮件模版布局-flex布局&table布局-demo
    数据库sql查询成绩第二高
  • 原文地址:https://blog.csdn.net/YangCheney/article/details/126253379