使用密钥连接你的VPS

 本案例使用Finalshell连接,注意Finalshell不支持 ED25519 算法

  • DSA(Digital Signature Algorithm):

安全性:DSA 是一种数字签名算法,用于数字签名和验证。然而,由于其较短的密钥长度和现代计算能力的发展,DSA 已经被认为不够安全,不推荐使用。

  • RSA(Rivest-Shamir-Adleman):

安全性:RSA 是最早广泛应用的非对称加密算法之一,它的安全性基于大整数分解难题。安全性取决于密钥长度,通常使用 2048 位或更长的密钥。较长的 RSA 密钥长度能够提供较高的安全性。区别:RSA 的密钥生成和加密解密操作相对较慢,特别是在使用较长密钥时。然而,RSA 算法在广泛的应用和支持下,仍然是常见的非对称加密算法之一。

  • ECDSA(Elliptic Curve Digital Signature Algorithm):

安全性:ECDSA 是基于椭圆曲线的数字签名算法,其安全性与 RSA 相当,但在相同安全性下,需要更短的密钥长度。常用的 ECDSA 密钥长度为 256 位。区别:相对于 RSA,ECDSA 使用较短的密钥长度提供了相同的安全性,因此在性能上表现更好。它在许多场景中被广泛使用,尤其在资源受限的环境中。

  • Ed25519:

安全性:Ed25519 是基于 Edwards 曲线的数字签名算法,安全性与 RSA 和 ECDSA 相当。它使用 256 位密钥,提供与 3072 位 RSA 密钥相当的安全性。区别:相比较于 RSA 和 ECDSA,Ed25519 在密钥长度较短的情况下提供相同的安全性,从而提供更高的性能。它在许多环境中成为首选算法。

此处采用的是RSA密钥方式

ssh-keygen -t rsa -b 4096 -C "<CLIENT-NAME>"
Lua

“CLIENT-NAME” 随便命名即可,用于备注

之后连续回车会默认在本机的 ~/.ssh/ 下 生成  id_rsa( RSA 私钥文件), id_rsa.pub(RSA 公钥文件)---可以下载用于备份,并用于其他服务器的验证登录。

为VPS服务器安装密钥,并修改SSH配置文件:

切换到用户主目录:

cd ~
Lua

确保.ssh文件夹的权限正确设置。使用以下命令来设置权限:

chmod 700 ~/.ssh
Lua

最后,在.ssh文件夹中创建authorized_keys文件用来存放公钥文件(类似锁头的作用):

codetouch ~/.ssh/authorized_keys
Lua

同样,确保authorized_keys文件的权限正确设置:

codechmod 600 ~/.ssh/authorized_keys
Lua

读取id_rsa.pub公钥内容,将其导入到authorized_keys文件中

来到cd ~/.ssh文件下,使用 cat id_rsa.pub 读取里面的公钥(复制出来)

粘贴到下面authorized_keys文件中

naon ~/.ssh/authorized_keys
Lua

之后Ctrl + X 保存退出

在本地使用Finallshell进行连接,或者使用另一台服务器进行连接

(1)将下载的id_rsa上传到Finalshell,即可进行连接

(2)在另一台VPS上登录这台服务器,使用以下方式:

ssh root@你的服务器IP -p 22
Lua

之后输入密码即可登录。

切换到用户主目录:

cd ~
Lua

确认是否已经存在.ssh文件夹。可以用以下命令检查:

ls -la ~/.ssh
Lua

如果.ssh文件夹不存在,可以使用以下命令创建它:

mkdir ~/.ssh
Lua

确保.ssh文件夹的权限正确设置。使用以下命令来设置权限:

chmod 700 ~/.ssh
Lua

上传私钥(id_rsa)到该(cd ~/.ssh)目录下,用于该服务器的连接验证。

来到生成RSA密钥的那台服务器中修改SSH配置文件,将密码登录关闭并开启密钥方式登录:

nano /etc/ssh/sshd_config
Lua

如下图,找到PasswordAuthentication Yes 更改为 PasswordAuthentication no | 找到 #PubkeyAuthentication yes 去除 #


    如此就实现了密钥登录VPS的方式,相较于直接使用密码登录会安全一点,也免去了之后的密码登录,当然也可以创建一个普通用户登录,关闭root登录。更多方式请参考咕咕的博客


    评论

    最多热度

    Wordpress

    Docker部署

    Portainer部署