服务器生成 SSH 公钥

本文详细介绍如何在不同操作系统上生成SSH公钥,包括检查密钥存在性、使用ssh-keygen命令生成公钥及私钥的过程,以及如何将公钥发送给服务器管理员以实现基于公钥的SSH验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

许多服务器都使用 SSH 公钥进行认证。 为了向服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:

cd ~/.ssh
# 若该文件夹不存在,则创建一个
mkdir ~/.ssh

2222222
我们需要寻找一对以 id_dsaid_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们。 在 Linux/macOS 系统中,ssh-keygenSSH 软件包提供;在 Windows 上,你可以借助按照Git工具来完成。

生成 SSH 公钥

ssh-keygen -o

2222
首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,将其留空即可。 然而,如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent 工具来避免每次都要输入密码。

现在,进行了上述操作的用户需要将各自的公钥发送给任意一个 服务器管理员 (假设服务器正在使用基于公钥的 SSH 验证设置)。 他们所要做的就是复制各自的 .pub 文件内容,并将其通过邮件发送。
公钥看起来是这样的:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local

参考链接

服务器上的 Git - 生成 SSH 公钥

### 使用 Git 生成 SSH 公钥 为了通过 Git 进行安全的身份验证,许多 Git 服务器依赖于 SSH 公钥认证。以下是详细的说明: #### 检查现有 SSH 密钥 在创建新的 SSH 密钥之前,应当先确认当前系统中是否存在已有密钥。通常这些文件位于用户的 `~/.ssh` 文件夹下。 ```bash ls ~/.ssh ``` 这条命令会显示 `.ssh` 目录下的所有文件,从而帮助判断是否有现成的私钥和公钥存在[^2]。 #### 创建新 SSH 密钥对 如果没有找到现有的 SSH 密钥,则可以执行如下命令来生成一个新的 RSA 类型的 SSH 密钥对,并指定电子邮件地址作为标签: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 在此过程中,可以选择按回车键接受默认路径保存密钥,也可以自定义位置;同样对于设置密码短语也是可选操作。这一步骤适用于多种操作系统环境,包括 Windows 下打开的 Git Bash 终端窗口[^3][^4]。 #### 添加 SSH 私钥至代理程序 启动 SSH agent 并加载刚刚生成的私钥是非常重要的步骤之一,以便后续能够顺利地与远程仓库交互而无需每次都手动输入密码: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 以上指令确保本地计算机上的 SSH 客户端能够在连接到支持 SSH 的服务提供商时自动提交正确的凭证信息[^1]。 #### 将公钥添加到 Gitee 或 GitHub 账号 最后一步是复制生成好的公钥内容并将其粘贴到目标平台(如Gitee或GitHub)账户的安全设置页面内的相应区域里完成绑定配置工作。具体做法是在终端运行下面这个命令获取公钥文本: ```bash cat ~/.ssh/id_rsa.pub ``` 之后按照网站提示完成剩余的操作即可实现基于 SSH 协议的安全访问权限管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值