一、SSH密码及证书之选择
我个人其实是不建议(不习惯)使用证书来登陆管理服务器的,主要是担心点是如果证书丢失或被盗就会引发灾难性问题。
当前常用做法是禁用root登陆,同时创建一个可远程登陆的帐号,在必须时使用sudo或su使用root管理员权限来执行命令,当然本文后面重点要讲的Google Authenticator 安全加固更是添加一重保障,先来说说禁用root,创建可远程登陆的帐号吧。
1、创建可远程登陆的用户
#创建kleefull用户并归属于root组
useradd kleefull -g root
# 设置密码
passwd kleefull
#配置可远程登陆及连接不断开
vi /etc/ssh/sshd_config
#阻止root用户陆
PermitRootLogin no
末行新增
AllowUsers kleefull
#服务端每隔1分钟向当前连接的客户端发起一次通信,超过3次无回应则断开连接
ClientAliveInterval 60
ClientAliveCountMax 3
#重启sshd:
service sshd restart
2、为用户配置sudo权限
#登陆或切换到root用户下
su root
#更改sudoers文件的写权限
chmod u+w /etc/sudoers
#编辑sudoers文件
vi /etc/sudoers
#找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (注:这里的xxx是你的用户名)
#你可以根据实际需要在sudoers文件中按照下面四行格式中任意一条进行添加:
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
#第一行:允许用户youuser执行sudo命令(需要输入密码)。
#第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码)。
#第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码。
#第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码。
#撤销sudoers文件写权限
chmod u-w /etc/sudoers
至此,普通用户就可以使用sudo了。
二、SSH + Google Authenticator 安全加固
通常我们直接通过ssh输入密码连接服务器,但这样很容易出现暴力破解情况,所以我们可以结合google的动态认证+ssh密码,这样能够大大的提升登陆的安全。
简单来说,就是当用户通过ssh登陆系统时,先输入google的随机验证码,然后在输入服务器的ssh密码。
步骤:https://www.cnblogs.com/hftian/p/11891499.html
网友评论