一、引言
SSH(Secure Shell)是一种用于安全远程登录和其他安全网络服务的协议。在使用 SSH 时,密钥对(公钥和私钥)可以替代传统的密码认证方式,提供更高的安全性和便利性。
当客户端使用 SSH 连接服务端时需要身份验证,身份验证的方法之一就是使用密钥对。在连接时,私钥保留在客户端上,公钥发送给服务端。相比密码,私钥难以被猜测或暴力破解,提高了连接的安全性。
二、密钥生成
Windows
在终端输入 ssh-keygen
命令就会在 C:\Users\用户名\.ssh\
目录下生成 id_rsa
(私钥)和 id_rsa.pub
(公钥)。
Linux
同样在终端输入 ssh-keygen
命令就会在 /home/用户名/.ssh/
目录下生成 id_rsa
(私钥)和 id_rsa.pub
(公钥)。
三、添加公钥到服务端
先在服务端创建 ssh 文件夹并设置权限。
1
2
mkdir -p ~/.ssh
chmod 700 ~/.ssh
找到客户端上的 id_rsa.pub
(公钥),把公钥中的内容写入到服务端的 ~/.ssh/authorized_keys
里,然后通过 chmod 600 ~/.ssh/authorized_keys
设置文件权限。
如下图可以看到,添加公钥之前需要输入密码才可以连接,添加公钥之后可以直接连接。