SSH 密钥的生成与使用

Posted by KalosAner on February 7, 2025

一、引言

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 设置文件权限。

如下图可以看到,添加公钥之前需要输入密码才可以连接,添加公钥之后可以直接连接。

Snipaste_2025-02-19_17-21-58