从Windows生成GitLab SSH密钥

24
我尝试按照这个指南生成ssh密钥,以便使用gitlab。
在生成密钥之前,我必须检查是否已经存在一个密钥,方法如下:
type %userprofile%\.ssh\id_rsa.pub

如果出现这种情况,我必须生成密钥:
the system cannot find the path specified

下一步是什么?因为指南没有提到如果我收到这个消息应该怎么办。
编辑:我已经尝试过了。
ssh-keygen -t rsa -C "email@example.com"

And I get

'ssh-keygen' is not recognized as an internal or external command, 
operable program or batch file.

编辑2:我使用的是Windows操作系统。


尝试这个命令 ssh-keygen -t rsa -C "email@example.com" - Sajib Khan
@sajibkhan 我为这个命令添加了一个编辑。 - Hadarsi320
从OP命令中的路径和来自shell的错误消息来看,我打赌OP正在使用Windows。ssh-keygen通常是*nix工具。 - Asaph
输入命令 "%userprofile%.ssh\id_rsa.pub";type 命令只是在控制台窗口中显示文本文件的内容,该消息意味着没有这样的文件... - aschipfl
@WarrenP 嘿,老兄最近怎么样?抱歉我没有及时回复你的信息,但是迟到总比不到好。 - Hadarsi320
显示剩余3条评论
3个回答

78

如果您在Windows上安装了git for windows,运行git-gui。 然后单击帮助,再单击显示Ssh Key,然后单击生成密钥。

趁热打铁,将其复制到剪贴板中,然后转到Gitlab帐户页面并将SSH密钥添加到Gitlab帐户的ssh设置中。


1
太好了,谢谢!我尝试使用Puttygen很长时间才让它工作,但显然那给了我错误的密钥类型。 - batjko
2
天啊,这让我很生气,原来如此简单。谢谢。 - Faruk D.
足够简单,我认为苦难是为Linux而生的! - Muhammed Moussa

1
这里的意图是让%userprofile%成为系统中包含您实际用户主目录的环境变量。要么检查为什么此环境变量未在您的系统上设置并修复它,要么进行快速修复,在上述命令中用您实际的用户主目录替换%userprofile%

1
C:\Users\example 替换 %userprofile%,而不是写成 in - Hadarsi320
@Hadarsi320 是的,假设 example 是你的用户名。 - Asaph
这个人实际上认为输入"type"命令会生成某些东西。不是的。如果它已经存在,它只会被显示在屏幕上。但是在DOS中,"type"命令就像Unix中的"cat"命令,它只是从一个地方读取并将输出放置在另一个地方,比如控制台(屏幕)。 - Warren P

0

如果您想在Windows上创建密钥而不依赖于Git,可以前往应用和功能 > 可选功能 > OpenSSH客户端(安装)

完成后,keygen命令将可供您使用。请注意,需要指定位数(-b),因为默认大小将不被GitLab接受。

看起来像这样:ssh-keygen -b 2048 -t rsa -C "email@example.com"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接