Linux-安全登录

557 阅读2分钟

我们都知道

  • root是linux系统默认的最高权限账号,一般云服务器默认都是使用root登录
  • linux系统默认的ssh端口是22
  • 大多数人习惯使用user/password来登录linux系统

很遗憾,黑客也知道,那么他便可以使用ssh ip:22 root/暴力密码来破解登入你的linux系统,一旦被他破解,你的系统就可以为他所用了。为了避免发生这类安全问题,我们要做的就是反常规,让黑客捉摸不透我们的系统。

那么针对以上这三种不安全的行为,给出以下三种方案一一避免。

1. 禁用root账号登录

禁用root账号,那么我们就必须创建其他登录账号,这里建议账号名不要为admin这类常见用户名。

  • 创建用户(以下都基于ubuntu系统操作)
adduser medit
# 创建用户时,shell窗口会需要你提供用户密码。密码必须输入且需要一点复杂性。
  • 用户赋权

此时创建的用户不能使用sudo权限,考虑将用户加入sudo组

usermod -a -G sudo medit

并且,为了避免使用sudo权限需要时不时的输入密码的麻烦,进行免密设置。在/etc/sudoers文件中新增行。

medit ALL=(ALL) NOPASSWD: ALL
  • 到了这一步,应该尝试使用新用户登录系统,如果成功登录再往下继续。
  • 禁用root登录

打开/etc/ssh/sshd_config文件,找到PermitRootLogin项,修改该项成如下:

PermitRootLogin	no

保存配置后,重启ssh服务:

service ssh restart

至此,root账号已经被禁用远程登录了。

2. 更改ssh远程端口

弃用22端口,使用0~65535范围内随机端口作为ssh端口。

要做的是修改/etc/ssh/sshd_conf文件,找到Port项,修改该项成如下:

Port 39855

保存配置后,重启ssh服务:

service ssh restart

至此,服务器ssh远程端口已经修改为39855,不能再使用22端口登陆系统了。

3. 使用密钥文件登录

那么如何使用密钥文件登录系统呢?按照以下步骤,一步一步来。

  • 使用用户密码登入linux系统,创建公钥/私钥文件
$ ssh-keygen
  • 以上命令会默认在~/.ssh目录下生成id_rsa私钥文件和id_rsa.pub文件,将公钥文件重命名:
$ mv id_rsa.pub authorized_keys
  • .ssh目录和authorized_keys文件授权
$ chmod 700 ~/.ssh/
$ chmod 644 ~/.ssh/authorized_keys
  • 将id_rsa文件出来,作为登录使用的密钥文件。你现在要做的就是保管好你的私钥文件。可以在ssh-keygen过程中使用passphrase作为私钥文件的锁码,使用私钥文件+锁码会更安全。