Linux VPS配置密钥登录并禁用密码登陆

使用 Linux 服务器的时候,可以通过修改 SSH 端口并设置复杂的密码,以确保服务器安全。为了避免密码泄露风险,进一步提高安全性,我们还可以配置密钥登录并禁用密码登陆。因为每个密钥对都是独一无二的,且私钥可以设置高强度的加密保护(如设置密码保护私钥文件等),相比于密码可能存在的被猜测、撞库等情况,他人很难仿冒合法的密钥去登录 VPS,保障了只有持有正确私钥的授权用户才能访问服务器。

创建SSH密钥对

SSH 连接到需要配置密钥登录的服务器,执行如下命令创建密钥对:

ssh-keygen

输入密钥文件的保存路径,默认保存到 /root/.ssh/ 文件夹。

root@localhost:~# ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519): 

输入密钥文件密码,如果不设置密码直接按两次回车:

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

创建密钥对成功:

Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:am2ZFI45UioInBR9s5dmztaccbYG4HLWzPaThh63vr4 root@localhost
The key's randomart image is:
+--[ED25519 256]--+
| oo              |
|o .. o .         |
|.o  . = B        |
|..   = % O o     |
|. . o & S O o    |
|   . . O O O     |
|      + * = o    |
|     . . . .     |
|          oEo    |
+----[SHA256]-----+

将生成的私钥下载到本地保存好,删除服务器上的私钥文件。注意一定保存好,特别提醒,如果设置了密码,密码也一定不能忘记。

服务器配置公钥

利用公钥文件创建登录需要的authorized_keys文件:

cd .ssh
# id_rsa.pub替换为刚刚生成的公钥文件名
cat id_rsa.pub >> authorized_keys

更改authorized_keys文件和目录的权限,600对应的是-rw——-,代表只有文件所有者具有读写权限。700对应的是-rwx——,代表文件或目录所有者有读写和执行权限。

chmod 600 authorized_keys
chmod 700 ~/.ssh

编辑ssh配置文件:

vi /etc/ssh/sshd_config

找到下面这一行(按/进入查找模式):

#PubkeyAuthentication yes

按Insert键进入编辑模式,去掉前面的井号:

PubkeyAuthentication yes

按Esc退出编辑模式,输入:wq退出保存。重启SSH服务使配置生效:

systemctl restart ssh
# 或
systemctl restart sshd

使用私钥进行SSH连接

这里以Windterm为例(其他SSH工具请看本站相关教程),使用私钥登录服务器,右击会话,选择『属性 – SSH – 验证』处,去掉已勾选的『尝试密码认证』,勾选尝试『尝试私钥认证』,并在『身份验证文件』处选择刚刚下载下来的私钥文件:

Linux VPS配置密钥登录并禁用密码登陆

禁用SSH密码登录

同样编辑ssh配置文件:

vi /etc/ssh/sshd_config

找到下面这一行(按/进入查找模式):

#PasswordAuthentication yes

去掉 # 号,并将其中的 yes 改为 no

PasswordAuthentication no

重启 SSH 服务使其生效:

systemctl restart ssh
# 或
systemctl restart sshd
主机教程

PuTTY下载、安装、使用基础教程及常见问题

2025-1-13 12:19:59

主机教程

Linux VPS服务器修改SSH端口教程

2025-1-13 18:05:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧