槐序二三煊

Vultr VPS SSH密钥登录
需求当VPS暴露在外网中,就会有人不断暴力破解你的SSH登录。于是就有必要使用SSH密钥来登录。并关闭密码登录。用...
扫描右侧二维码阅读全文
17
2019/05

Vultr VPS SSH密钥登录

需求

当VPS暴露在外网中,就会有人不断暴力破解你的SSH登录。于是就有必要使用SSH密钥来登录。并关闭密码登录。
用以下命令可以查看别人暴力破解你SSH密码登录的大概情况!

grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr | more

就我自己的购买的VPS来说。暴力破解次数最多达到2475次!各位也可以去看看自己的。。

生成密钥对文件

使用ssh-keygen在自己的PC上来生成密钥对。Linux或者macOS都可以直接通过terminal来操作!
可参考Vultr官方生成教程

Windows

如果是windows,需要用PuTTYgen软件来生成。

[root@host ~]$ ssh-keygen -t rsa <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥

MacOS或Linux

打开本地终端,执行 ssh-keygen 命令创建密钥对:

ssh-keygen -t rsa -C  'your email@domain.com'
-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略

配置Vultr

创建VPS的时候可以直接制定SSH密钥登录。。如果是已经创建好的VPS。

id_rsa.pub放到/root/.ssh目录下,
并改名为authorized_keys
修改sshd_config配置文件vi /etc/ssh/sshd_config
重启SSH服务,
centos7使用命令systemctl restart sshd
centos6使用命令/etc/init.d/sshd restart

sshd_config配置文件修改相关选项如下:

RSAAuthentication yes #RSA认证
PubkeyAuthentication yes #开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys #验证文件路径
PasswordAuthentication no #禁止密码认证
PermitEmptyPasswords no #禁止空密码

自此。便成功更改为密钥登录!

其他

如果你用的是Window系统要登录VPS需要将私钥下载到客户端,然后转换为 PuTTY 能使用的格式

使用 WinSCP、SFTP 等工具将私钥文件 id_rsa 下载到客户端机器上。然后打开 PuTTYGen,单击 Actions 中的 Load 按钮,载入你刚才下载到的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。

载入成功后,PuTTYGen 会显示密钥相关的信息。在 Key comment 中键入对密钥的说明信息,然后单击 Save private key 按钮即可将私钥文件存放为 PuTTY 能使用的格式。

今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。

Last modification:May 18th, 2019 at 10:17 am
如果你觉得有用,可以赞赏

Leave a Comment