记录值得记录下的事情

SSH端口修改并启用证书登录验证

随着Linux服务器数量增加,Linux的安全问题也需要日渐加强。

Linux SSH登录有两种:

  • 使用密码验证登录
    通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。

  • 使用密钥验证登录
    基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。

增强SSH安全

  • 修改SSH端口号

SSH服务配置文件路径一般都是在/etc/ssh目录下的sshd_config 文件,修改该文件中的port字段

#...
port 22 #默认端口

改为

#...
prot 2222 #其他端口,范围是1025-65535
  • 证书登陆验证

连接SSH后,终端执行:ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #证书密匙保存路径,默认回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #输入密钥密码
Enter same passphrase again: #重复密钥密码
#提示公钥和私钥已经存放在/root/.ssh/目录下
Your identification has been saved in /root/.ssh/id_rsa. 
Your public key has been saved in /root/.ssh/id_rsa.pub.
#...

/root/.ssh目录下的id_rsa和id_rsa.pub文件下载并安全的保存好!

修改/etc/ssh/sshd_config 文件,将 RSAAuthenticationPubkeyAuthentication 后面的值都改成 yes ,保存。

最后,重启SSH服务,Debian/Ubuntu执行/etc/init.d/ssh restart ,RedHat/CentOS执行:/etc/init.d/sshd restart

标签: Linux, 安全, SSH, 证书, 登录

添加新评论