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

本文介绍了如何为Git服务器生成SSH公钥的过程。首先检查是否存在密钥文件,如果没有,则使用ssh-keygen程序创建。随后,文章提供了Linux/Mac及Windows系统的具体步骤,并展示了公钥的示例。

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

http://git-scm.com/book/zh/ch4-3.html

生成 SSH 公钥

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

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

我们需要寻找一对以 id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行ssh-keygen 程序来创建它们。在 Linux/Mac 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可。

现在,进行了上述操作的用户需要将各自的公钥发送给任意一个 Git 服务器管理员(假设服务器正在使用基于公钥的 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

关于在多种操作系统中生成 SSH 密钥的更深入教程,请参阅 GitHub 的 SSH 密钥指南https://help.github.com/articles/generating-ssh-keys

### 如何在Git中重新生成SSH公钥用于Gitee组织代码上传 为了确保能够顺利通过SSH协议向Gitee上的组织仓库上传代码,可以按照以下说明重新生成并配置SSH公钥。 #### 1. 检查现有SSH密钥 首先需要确认本地是否存在旧有的SSH密钥文件。通常这些文件位于用户的`.ssh`目录下,名称一般为`id_rsa`(私钥)和`id_rsa.pub`(公钥)。可以通过运行以下命令来检查: ```bash ls ~/.ssh/ ``` 如果已经存在名为`id_rsa`或类似的密钥对,并且不再希望继续使用它们,则可以选择删除后再生成新的密钥;否则可以直接跳转到下一步。 #### 2. 生成新的SSH密钥 执行下面的命令以创建一个新的SSH密钥,这里假设邮箱地址为`you@example.com`: ```bash ssh-keygen -t rsa -b 4096 -C "you@example.com" ``` 这条指令会提示输入保存位置,默认是在~/.ssh/id_rsa处存储新产生的key pair。接着会让你设定密码保护这个private key (可选),最后完成整个generation process之后就会得到两个file:一个是private key (`id_rsa`) 另外一个是public key(`id_rsa.pub`).[^1] #### 3. 添加SSH公钥Gitee账户 打开刚刚生成的那个public key file `id_rsa.pub`,复制全部内容出来准备粘贴进web界面里头去。 - 登陆到[Gitee](https://gitee.com/)官网; - 转至右上方个人资料图标 -> 设置(Settings); - 左侧菜单栏找到'SSH公钥'选项卡; - 点击新增按钮,填写标题以便识别哪台机器对应哪个key,随后把之前copy下来的text paste进去即可提交上去.[^2] #### 4. 测试SSH连接 为了验证一切设置无误,可以用如下命令测试一下能否成功建立与服务器之间的安全shell session : ```bash ssh -T git@git.gitee.com ``` 假如显示类似于“Hi username! You've successfully authenticated...”这样的信息就代表一切都OK啦! --- ### 注意事项 - 当更换了电脑或者其他设备时记得重复以上步骤再次添加相应的新keys。 - 如果遇到任何问题都可以参照官方文档获取更多帮助或者寻求社区支持。[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值