如何修改centos7密匙验证并关闭密码登录

VPS相关

本文最后更新于 2020年4月14日   请注意相关内容可能已过时

总所周知,服务器的安全是重中之重,而在网络上每天都有无数的机器在尝试爆破与弱口令登录。而一旦被爆破登录,往往机器会沦为黑客的免费肉鸡,更有甚者导致服务器里面的数据完全泄漏,损失惨重。

解决这个问题的方法有很多种,包括修改SSH端口,fail2ban等,这里介绍其中一种,就是开启服务器的密匙验证,同时禁用密码登录。

  • 首先需要用到的工具

  1. putty(ssh登录工具)官方地址
  2. winscp(带界面的远程文件管理工具)官方地址
  3. puttygen(证书生成和修改工具)官方地址

首先以root用户登录vps,如果你只能以非root用户登录,可以输入

sudo -i

切换成root用户。

当然如果你不需要以root用户生成密匙,你可以无视上面的,用你需要的用户登录就可以了。

然后输入,然后回车

ssh-keygen -t rsa

系统会提示你输入字符,如果你需要验证口令的话,就键入你需要设置的口令,如果不需要的话,直接留空按ENTER键就可以了

系统会在~/.ssh目录(用户所在家目录下的.ssh目录,如果没有请自行创建.ssh目录)生成id_rsa, id_rsa.pub文件

第一个文件就是私匙文件,第二个文件就是公匙文件。

到此,密匙文件已经生成好了。

接下来下载密匙文件到本地。

使用winscp登录vps,找到用户目录下面的.ssh目录,下载id_rsa, id_rsa.pub两个文件

  • 配置使用ssh密匙(切记先下载好密匙文件再开始配置)

复制公匙文件并修改文件名为authorized_keys

cd .ssh
cp id_rsa.pub authorized_keys

修改sshd_config文件

nano /etc/ssh/sshd_config

如果提示找不到nano命令的话。输入

 

yum install nano

也可以使用winscp找到该文件所在的目录直接修改文件,推荐使用winscp,可视化操作

双击即可打开文件修改。

参考以下修改

 

StrictModes no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #ssh文件位置 
PasswordAuthentication yes #使用密码 no为不使用密码 
AuthenticationMethods publickey,password #如果密码和密钥都使用在末尾加上此行代码

文件夹权限一定要保证

/root/.ssh/ 文件夹的权限是700或者755,所有者为root
/root/.ssh/authorized_keys 的权限是600,所有者为root

重启ssh服务

systemctl restart sshd.service

至此,已经在服务器上面修改好了使用密匙验证登录。

如果需要在win下面登录服务器,需要使用puttygen修改一下格式。

打开puttygen.exe文件

点击load载入刚刚从服务器下载下来的私匙文件。

如果有口令,就输入你刚刚设置的口令。

,然后选择save private key保存私匙文件。

打开putty,输入ip与端口(如果你的ssh没有修改过的话就是默认的22)

然后在左边的窗口找到connection/SHH/auth,点击,

在右边选择browse浏览,找到刚刚用puttygen.exe另存为的私匙文件。

然后在点击open开始登录

输入你密匙文件的用户名和密码,

输入密码看不见字符是正常的。


发表评论

邮箱地址不会被公开。 必填项已用*标注