git如何使用ssh密钥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git如何使用ssh密钥相关的知识,希望对你有一定的参考价值。

参考技术A

首先先来了解一下git的四种传输协议:本地、ssh、git和http,http协议应该说是最常见的一种,因为简单,以下是各个协议的优点与缺点:

地址: https://git-scm.com/downloads

初次使用git的用户要使用git协议大概需要三个步骤:

生成密钥对
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,生成密钥对:公钥和私钥,一般在~/.ssh 目录下(不管什么系统)
首先就先查看你的本地是否存在,可以自己创建目录:

ssh 目录都没有,可以用 ssh-keygen 来创建

保存文件名,然后输入密码,最后密钥对就生成啦~

ssh
ssh-agent bash //开启ssh代理
ssh-add key-file //添加ssh key文件
每次重启机器都执行一下,或者下个sourceTree/Tortoisegit来管理git项目

设置远程仓库
登陆你的gitlab帐户。点击你的头像,然后 Settings -> SSH keys

git的 remote url 修改为git协议

sourceTree/Tortoisegit

如何输入 Git SSH 密钥的密码?

【中文标题】如何输入 Git SSH 密钥的密码?【英文标题】:How can I type the passphrase for a Git SSH key? 【发布时间】:2021-11-29 22:48:59 【问题描述】:

我想在 Git 上生成一个 SSH 密钥,但我被困在密码短语部分:我无法键入它。密码短语字段显示时没有任何字符,即使我正在输入它们。

$ ssh-keygen -t ed25519 -C "my_email@email.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/me/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Passphrases do not match.  Try again.

如您所见,我无法输入任何内容。有一些类似的问题,人们说文本是隐藏的,但从技术上讲,你仍然可以输入它。问题是 Git 说密码在两个字段上都不匹配,即使我在这两个字段上都输入了相同的字符。我在 Windows 10 上,安装了最新的 64 位 Git 版本。

只是说清楚,这是我的目标:

创建一个 SSH 密钥,这样我就不需要在每次将文件推送到我的 GitHub 存储库时输入我的 GitHub 凭据。

【问题讨论】:

只是为了测试这一点,按两次键盘上的 ENTER(或 RETURN 或任何标记的键),以便您使用无密码的情况。如果可行,请尝试使用单字母密码,这样就不会出错,并延长直到它停止工作:可能在 Windows 10 上有一些最大长度,或者其他什么。 【参考方案1】:

正如@torek 所说:

在键盘上按两次 ENTER(或 RETURN 或任何标记的键),以便您使用无密码短语 [...]

成功了!

【讨论】:

【参考方案2】:

另一种方法是在 CMD 中直接输入密码。

ssh-keygen -t rsa -q -f yourFile -N "<your passphrase>"

(在带有 W10 的 CMD 中测试,%PATH% 引用 C:\Program Files\Git\usr\bin,其中 ssh-keygen.exe 是)

如果您想要设置密码:

ssh-keygen -t rsa -q -f yourFile -P ""

在这两种情况下,目标是必须键入任何 ENTER:没有提示回答。

【讨论】:

以上是关于git如何使用ssh密钥的主要内容,如果未能解决你的问题,请参考以下文章

以及git如何使用ssh密钥(将ssh密钥添加到g

Git如何使用SSH密钥,用户名进行克隆

git如何生成ssh密钥 git生成配置ssh密钥key详细步骤

如何在另一台远程服务器上使用我的 SSH 密钥进行 Git?

如何将已生成的 SSH 密钥添加到 git bash?

码云(gitee)配置ssh密钥