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密钥 git生成配置ssh密钥key详细步骤