vultr使用秘钥登录,并关闭密码登录
2022-08-20 # Linux

使用秘钥登录并禁止密码登录的一个好处是,可以有效防止暴力破解服务器密码。当然如果你的本地计算机被黑了,也是歇逼。

如何做呢,我是以window10下的xftp和xshell来做的。非常简单。

打开xshell 或者 xftp中的任何一个。如下图生成密钥对,会在软件默认目录生成私钥,并在你选择的地方生成公钥。

1

然后就是老一套,上传公钥pub文件去ubuntu主机了。在.pub文件所在目录下打开powershell 或者 cmd,输入如下命令。就是把pub粘贴复制到远程的authorized_keys文件中。

1
type vultr_test.pub | ssh root@149.28.128.221 "cat >> .ssh/authorized_keys"

然后就好了,你在xftp或者xshell中选择用秘钥登录即可。

1

顺便说下Ubuntu上的.ssh/authorized_keys 文件你在xftp中的位置是 /root/.ssh 因为.ssh是隐藏文件所以如果要显示必须在xftp工具=》选项中设置显示隐藏文件。

1

还有就是老版本的ubuntu服务器比如 18.04 在cd ~/.ssh 这个位置,也就是 /root/下是没有.ssh文件夹的,需要手动创建,并创建其中的”authorized_keys” 空白文件,然后再执行上面的命令。

说了半天,客户端都是win10,如果客户端是Linux的话,我再写一篇来专门说怎么搞。

如果要删除服务器上的公钥的话,vultr官网上说只能,手动去删除.ssh/authorized_keys上对应的公钥字符串。但你要小心如果这时候你已经关闭了密码登录,那就没法登录了。只能重新安装实例了。

关闭ssh密码登录

修改配置文件/etc/ssh/sshd_config

1

把#号去掉,yes改为no即可

1

此时该设备只能用密钥登录

PS: 实测ubuntu18.04 必须同时修改2项才行

PubkeyAuthentication yes
PasswordAuthentication no

修改完毕后重启ssh 服务
sudo service ssh restart