自从有了一台云服务器,每次登录就会有这样是信息:

There were 4396 failed login attempts since the last successful login. 
Last login: Thu Jul 21 15:45:34 2019 from *.*.*.*

引用网友的说法:你服务器 IP 在那儿,那 SSH 开在 TCP 22 上谁都能连,连上了谁都能输密码,密码错了就在系统里留下一条记录。要么是被(无差别地)扫到了,要么是有人在盯着你。只说 SSH 登陆这事,如果你关闭密码登陆(或者密码足够健壮),那有个就算有一百万个猴子在试你的密码,你也完全不用担心的。

其实就是服务器服务器IP被人用脚本跑密码尝试登录,于是决定取消密码登录,改用SSH-Kengen登录。

创建SSH密钥

我的服务器在腾讯云上,因此这里以腾讯云为例。

打开控制台,点击云服务器-SSH密钥-创建密钥,填写密钥名称,点击确定后,再点击下载。


这样我们就创建了一个密钥,在列表中可以看到

加载密钥

在云服务器-实例-操作-更多菜单中,可以看到密码/密钥-加载密钥

点击加载密钥后,选择我们刚才创建的密钥

点击下一步后,勾选同意强制关机,然后点击去调整即可。

此时服务器会关机并重启,稍等一会后,我们就可以使用密钥登录服务器了。

SSH密钥登录

SSH软件有很多,这里我使用XShell登录。

点击新建连接,然后选择协议SSH、填入IP地址、填入端口号22,

然后点击用户身份验证,选择方法Public Key,填入用户名root,

点击用户密钥的浏览,导入选择刚才生成的密钥,然后选中,确定

最后点击连接即可连接到服务器

以后再也没有尝试登录的提醒了