简介
💻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