使用Git时如何解决Permission denied(publickey)错误?

时间:2010-04-15 07:46:34

标签: git ssh ssh-keys public-key

我在Mac Snow Leopard上,我刚刚安装了git

我刚试过

git clone git@thechaw.com:cakebook.git

但这给了我这个错误:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我缺少什么?
我也试过ssh-keygen没有passphase但仍然是同样的错误。

48 个答案:

答案 0 :(得分:637)

用户之前没有生成过ssh公钥/私钥对?

此信息正在解决问题,但可以应用于支持SSH pubkey身份验证的所有其他git存储库。 (例如,参见gitolite,gitlab或github。)

  

首先设置您自己的公钥/私钥对。这个   可以使用DSA或RSA,所以基本上你设置的任何键都可以使用。   在大多数系统上,您可以使用ssh-keygen。

     
      
  • 首先,您要进入.ssh目录。打开终端并运行:      
        

    cd ~/.ssh && ssh-keygen

      
  •   
  • 接下来,您需要将其复制到剪贴板。      
        
    • 在OS X上运行:cat id_rsa.pub | pbcopy
    •   
    • 在Linux上运行:cat id_rsa.pub | xclip
    •   
    • 在Windows上(通过Cygwin / Git Bash)运行:cat id_rsa.pub | clip
    •   
  •   
  • 通过网站将您的密钥添加到您的帐户。
  •   
  • 最后设置你的.gitconfig。      
        
    • git config --global user.name "bob"
    •   
    • git config --global user.email bob@...   (不要忘记重新启动命令行以确保重新加载配置)
    •   
  •   
     

多数民众赞成你应该很好地克隆和结帐。

更多信息可在https://help.github.com/articles/generating-ssh-keys找到(感谢@Lee Whitney)   -

用户在之前设置了ssh公钥/私钥对?

  • 检查您的github或gitlab帐户设置上已授权的密钥
  • 告知必须从您的本地计算机关联哪个相应的私钥

eval $(ssh-agent -s)

告诉钥匙的位置

ssh-add ~/.ssh/id_rsa

答案 1 :(得分:182)

可以通过以下方式进行更广泛的故障排除甚至自动修复:

ssh -vT git@github.com

来源:https://help.github.com/articles/error-permission-denied-publickey/

答案 2 :(得分:145)

当您访问SSH URL(读/写)而不是Git只读URL时,可能会发生此错误,但您对该回购没有写入权限。

有时你只想克隆你自己的回购,例如部署到服务器。在这种情况下,您实际上只需要R​​EAD-ONLY访问权限。但由于那是您自己的回购,GitHub可能会显示SSH URL,如果这是您的偏好。在这种情况下,如果远程主机的公钥不在您的GitHub SSH密钥中,您的访问权将被拒绝,预计会发生

同样的情况是当您尝试使用SSH URL克隆其他人没有写入权限的repo时。

总之,如果您的意图是仅克隆回购,请使用HTTPS网址https://github.com/{user_name}/{project_name}.git)而不是SSH网址(git@github.com:{user_name}/{project_name}.git),这样可以避免(公共密钥验证。


更新:GitHub现在正在显示HTTPS作为默认协议,此举可能会减少可能滥用SSH URL的行为。

答案 3 :(得分:91)

github帮助link帮我解决了这个问题。看起来ssh密钥没有添加到ssh-agent。这就是我最终做的事情。

命令1:

确保已启用ssh-agent。该命令在后台启动ssh-agent:

eval "$(ssh-agent -s)"

命令2:

将SSH密钥添加到ssh-agent:

ssh-add ~/.ssh/id_rsa

答案 4 :(得分:18)

得到相同的错误报告。

修复了使用HTTP的问题。因为我不想设置" SSH密钥"用于测试PC。

克隆时将URL更改为HTTP:

git clone https://github.com/USERNAME/REPOSITORY.git

我的问题有点不同:将现有的本地存储空间添加到遥控器时,我设置了网址:

git remote add origin ssh://github.com/USERNAME/REPOSITORY.git

要解决此问题,请将网址重置为HTTP:

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

顺便说一句,您可以使用以下命令检查您的网址:

git remote -v
origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.git (push)

希望这会对像我这样的人有所帮助。 :d

答案 5 :(得分:18)

这对我有用:

ssh-add ~/.ssh/id_rsa

答案 6 :(得分:18)

请注意(至少对于某些项目而言)您必须拥有带有ssh密钥的github帐户

查看身份验证代理中列出的密钥( ssh-add -l <​​/ em>)
  (如果您没有看到任何内容,请使用ssh-add / path /添加一个现有密钥到/ your / key(例如: ssh-add~ / .ssh / id_rsa )) />   (如果您没有任何密钥,请先创建一个。请参阅:http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html或只是google ssh-keygen)

要验证您是否拥有与您的github帐户关联的密钥

转到:https://github.com/settings/ssh

您应该看到至少一个密钥,其哈希键与您在一分钟前键入 ssh-add -l <​​/ em>时看到的哈希值之一相匹配。

如果不这样做,请添加一个,然后重试。

答案 7 :(得分:13)

我的情况略有不同,我登录到远程服务器并在服务器上使用git,当我运行任何git命令时,我收到相同的消息

   Permission denied (publickey).
   fatal: The remote end hung up unexpectedly

我修复它的方法是更改​​Mac上的/ etc / ssh_config文件。 从

ForwardAgent no 

ForwardAgent yes

答案 8 :(得分:12)

我遇到了同样的问题,因为我认为 SSH HTTPS 之间存在区别

https://github.com/USERNAME/REPOSITORY.git

ssh://github.com/USERNAME/REPOSITORY.git

所以我将 HTTPS 更改为 SSH ,只需将https://更改为ssh://,网址末尾的任何内容都没有更改。

但事实是:

https://github.com/USERNAME/REPOSITORY.git

git@github.com:USERNAME/REPOSITORY.git

这意味着我将ssh://github.com/USERNAME/REPOSITORY.git更改为git@github.com:USERNAME/REPOSITORY.git

愚蠢的错误,但希望有人帮助!

答案 9 :(得分:10)

我正在努力解决同样的问题,这就是我所做的,我能够克隆回购。我按照 iMac 的这些程序。

第一步:检查我们是否已有公共SSH密钥。

  1. 打开终端。
  2. 输入ls -al ~/.ssh以查看是否存在现有的SSH密钥:
  3. 检查目录列表以查看您是否已拥有公共SSH密钥。默认公共是以下d_dsa.pub之一,id_ecdsa.pub,id_ed25519.pub,id_rsa.pub

    如果您没有找到,请转到步骤2,否则请按照步骤3

    进行操作

    第2步:生成公共SSH密钥

    1. 打开终端。
    2. 使用您用于github ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    3. 的有效电子邮件地址输入followong命令
    4. 您将在终端Generating public/private rsa key pair中看到以下内容。当它提示"Enter a file in which to save the key,"时按Enter键。这接受默认文件位置。当它提示Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]时,只需按回车即可。 在提示符下,键入安全密码。
    5. Enter passphrase (empty for no passphrase): [Type a passphrase]如果您不想Enter same passphrase again: [Type passphrase again]再次按回车
    6. ,请按Enter键

      这将生成id_rsa.pub

      步骤3:将SSH密钥添加到ssh-agent

      1. 内部类型eval "$(ssh-agent -s)"
      2. 将SSH密钥添加到ssh-agent。如果您使用的是现有SSH 密钥而不是生成新的SSH密钥,您需要替换 命令中的id_rsa,其名称为现有私钥 文件。输入此命令$ ssh-add -K ~/.ssh/id_rsa
      3. 现在复制SSH密钥并将其添加到您的github帐户

        1. 在终端中输入带有ssh文件名pbcopy < ~/.ssh/id_rsa.pub的命令,这会将文件复制到剪贴板 现在打开你的github帐户转到设置&gt; SSH和GPG密钥&gt;新SSH密钥输入标题并从剪贴板粘贴密钥并保存。瞧,你已经完成了。

答案 10 :(得分:8)

Windows上的另一种可能性,这些答案均未涵盖,有关故障排除的git或github文档中也未涉及:

git可能使用的openssh可执行文件与您认为的不同。

尝试从github和ssh.dev.azure.com克隆或提取消息时,我收到Permission denied (public key)错误,并且我按照所有说明进行了操作,并验证了我的SSH密钥是否正确设置(从SSH的立场)使用ssh -vT git@github.comssh -vT git@ssh.dev.azure.com。仍然出现这些错误:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我最终发现问题是Windows的Git和Windows都有自己的openssh版本。在此处记录:https://github.com/desktop/desktop/issues/5641

我依靠Windows ssh-agent服务来存储我的ssh密钥密码,因此git(带有openssh的单独版本)无法读取我的私钥。我认为使用此错误消息是一个错误-具有误导性。

解决方法是:

git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"

或者在您的〜/ .gitconfig中:

[core]
    sshCommand = 'C:\\Windows\\System32\\OpenSSH\\ssh.exe'

也许这将很快在Windows的git中修复,但这是我第二次在此问题上浪费时间。

答案 11 :(得分:6)

在Windows上,确保所有应用都同意HOME。 Msys令人惊讶地不会为你做。我不得不设置一个环境变量,因为ssh和git似乎不同意我的.ssh目录所在。

答案 12 :(得分:6)

这些是我在Windows 10中遵循的步骤

  1. 打开Git Bash。

  2. 生成公钥:

    ssh-keygen -t rsa -b 4096 -C "youremailaddress@xyz.com"
    
  3. 将生成的密钥复制到剪贴板(类似于CTRL + C)

    clip < ~/.ssh/id_rsa.pub
    
  4. 浏览器,转到Github =>配置文件=>设置=> SSH和GPG密钥=>添加密钥

  5. 提供键名并粘贴剪贴板(CTRL + V)。

  6. 最后,测试您的连接(Git bash)

    ssh -T git@github.com
    

谢谢!

答案 13 :(得分:5)

你在corporate environment吗?您的系统变量最近是否有可能发生变化?根据{{​​3}} SO回答,ssh密钥位于%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub。因此,如果%HOMEDRIVE%最近发生了变化,git就不知道在哪里查找密钥,从而知道所有的身份验证内容。

尝试运行ssh -vT git@github.com。记下identity file所在的位置。对我来说,这是指向到我的正常\Users\MyLogin而是指向网络驱动器,因为在网络级别推送了环境变量的更改。

解决方案?由于我的新%HOMEDRIVE%具有与我的本地文件相同的权限,因此我只将我的.ssh文件夹移到那里,并将其称为一天。

答案 14 :(得分:5)

基本的GIT指令没有引用SSH密钥。根据上面的一些链接,我找到了一个git帮助页面,逐步解释了如何为各种操作系统执行此操作(链接将检测您的操作系统并相应地重定向):

http://help.github.com/set-up-git-redirect/

它遍历了GITHub所需的所有内容,并提供了详细的解释,例如“为什么在创建RSA密钥时添加密码短语”。我想我会发布它,以防它帮助其他人......

答案 15 :(得分:5)

视觉指南(Windows)

1,共2个。

1.1。。打开 git batch (下载herenter image description here

1.2。 粘贴以下文本(更改为GitHub帐户电子邮件)

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

enter image description here

1.3。 Enter (接受默认文件位置) enter image description here

1.4。单击两次 Enter (或设置SSH密钥密码-Gitbub passphrases docs

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

1.5。密钥生成:

您的标识已保存在/c/Users/user/.ssh/id_rsa ...

1.6。 将SSH密钥复制到剪贴板。

$ clip < ~/.ssh/id_rsa.pub

2之2。Github网站用户端

在用户设置下创建密钥enter image description here

粘贴步骤1.6中的代码 enter image description here

完成:)

enter image description here


如果某人不想使用SSH use HTTPS

enter image description here

Github文档: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

答案 16 :(得分:5)

这就是它对我有用的方式:

1-打开终端并转到用户[参见附件]

2-打开.ssh文件夹并确保它没有像id_rsa或id_rsa.pub这样的文件,否则有时它不会正确地重写文件

3 - git --version [检查git安装和版本]

4- git config --global user.email“your email id”

5- git config --global user.name“your name”

6-git config --list [确保你已经设置了你的名字&amp;电子邮件]

7-cd~ / .ssh

8-ssh-keygen,它提示保存文件,允许它

9- cat~ / .ssh / id_rsa.pub [访问您的公钥&amp;将密钥复制到gerrit设置]

注意:你不应该在Git上使用sudo命令。如果你有一个很好的理由你必须使用sudo,那么确保你在每个命令中使用它(在这一点上使用su来获取shell作为root可能更好)。如果你生成没有sudo的SSH密钥,然后尝试使用像sudo git push这样的命令,你将不会使用你生成的相同密钥

enter image description here

enter image description here

答案 17 :(得分:4)

最简单的方法之一

转到终端 -

  git push <Git Remote path> --all

答案 18 :(得分:3)

如果您有多个密钥,则可能需要执行此操作 ssh-add private-keyfile

答案 19 :(得分:3)

除了Rufinus&#39;回复,将您的ssh密钥复制到 Windows 中的剪贴板的快捷方式是:

  • type id_rsa.pub | clip

参考文献:

答案 20 :(得分:2)

在MAC中,转到终端

1)使用命令-cd ~

导航到主目录。

2)cd .ssh && ssh-keygen(对于默认值,单击两个输入的Enter / Return键)

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):      
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/usernmae/.ssh/id_rsa.

3)之后,执行“ ls”。您会找到id_rsa.pub文件。

4)复制id_rsa.pub文件中的内容(使用cat命令-cat id_rsa.pub读取)

5)导航到BitBucket或任何支持SSH密钥的版本工具。使用添加密钥选项

粘贴内容

就是这样。尝试立即提交并推送。

enter image description here

答案 21 :(得分:2)

非常直截了当。输入以下命令

ssh-keygen -t rsa -b 4096 -C "youremailid@yourdomain.com"

生成SSH密钥。打开文件并复制内容。转到GitHub设置页面,然后单击SSH密钥。单击“添加新SSH密钥”,然后将内容粘贴到此处。就是这样:)你不应该再看到这个问题了。

答案 22 :(得分:2)

我必须将ssh密钥复制到根文件夹。 运行Ubuntu 18.04的Google Cloud Compute Engine

sudo cp ~/.ssh/* /root/.ssh/

答案 23 :(得分:2)

我在设置当前项目时遇到过这个问题,上述解决方案都没有。所以我尝试使用命令ssh -vT git@github.com查看调试列表中发生的事情。我注意到我的私钥文件名不在列表中。所以将私钥文件名重命名为'id_rsa'来完成这项工作。希望这可以提供帮助。

答案 24 :(得分:1)

在我的情况下,我重新安装了ubuntu,用户名从以前更改过。在这种情况下,生成的ssh密钥也与前一个密钥不同。

只需在存储库中复制当前的ssh公钥即可解决问题。该密钥将在您的用户/home/.ssh/id_rsa.pub

中提供

答案 25 :(得分:1)

我遇到此错误是因为我需要给我当前的工作目录权限700:

chmod -R 700 /home/ec2-user/

答案 26 :(得分:1)

对我来说问题是使用 sudo

sudo git clone git@github.com:userName/repo.git 导致上述错误。

所以为了解决这个问题,我删除了我试图克隆到的文件夹

sudo chown -R $USER:$USER /var/www/iqge.org/html

然后使用这个 git clone git@github.com:userName/repo.git 已成功完成

答案 27 :(得分:1)

在我的MAC中我解决了这个问题:

cp ~/.ssh/github_rsa ~/.ssh/id_rsa

出于某种原因,我的git停止在github_rsa文件中找到私钥。这发生在一个特定的回购中。我的意思是在其他存储库中git保持正常工作。

我认为这是一个错误。

我可以发现此行为正在运行ssh -vT git@github.com

答案 28 :(得分:1)

这个奇怪的错误,在我的情况下是gnome-keyring-daemon错误地命名需要密码的密钥的症状。

我按照此处列出的步骤操作,并通过终端输入密码。错误,即混乱的GUI界面,已得到解决。 请参阅:https://askubuntu.com/questions/3045/how-to-disable-gnome-keyring

答案 29 :(得分:1)

我得到了同样的错误。我的问题是在sudo混合。

我无法创建自动克隆的目录,而无需使用sudo为git clone命令添加前缀。但是,当我这样做时,我的ssh键没有被正确引用。

要修复它,我通过chmod在我想要包含我的克隆的父目录上设置权限,以便我可以写入它。然后我运行git clone没有sudo前缀。然后它工作了!之后我更改了权限。完成。

答案 30 :(得分:1)

我收到此错误是因为我使用错误的电子邮件生成了ssh密钥。我能够使用ssh连接,但不能使用git。解决方案是使用我的github帐户的主电子邮件地址重新生成密钥。

答案 31 :(得分:1)

它对我有用。

您的公钥会保存到id_rsa.pub;文件中,并且是您上传到帐户的密钥。您可以运行以下命令将此密钥保存到剪贴板:

  

pbcopy&lt;把〜/ .ssh / id_rsa.pub

  • 将SSH密钥复制到剪贴板,返回Web门户。
  • 在“SSH密钥”字段中,粘贴SSH密钥。
  • 在“名称”字段中,提供密钥的名称。
  • 保存。

答案 32 :(得分:1)

它对我有用

ssh -i [your id_rsa path] -T github@github.com

答案 33 :(得分:1)

当您尝试使用不同的用户名推送到存储库时,最简单的解决方案是:

 git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git

答案 34 :(得分:1)

尝试运行makefile时,我收到了类似的 Permission denied(publickey)错误

作为上述SSH步骤的替代方法,您可以安装本机GitHub for Mac应用程序。

从 - https://help.github.com/articles/set-up-git#platform-mac

点击从Mac下载GitHub

使用git hub帐户完成设置后(我还安装了git hub命令行工具,但不确定是否需要此步骤),然后我收到了一封电子邮件 -

[GitHub]您的帐户中添加了新的公钥

我的错误已修复。

答案 35 :(得分:0)

SourceTree 适用于 Windows 案例

如果您在 Windows 上使用 SourceTree,您需要使用 PuTTyGen

创建一个新的密钥对

enter image description here

您应该插入顶部部分的 ssh-rsa

Github => Profile=> Settings => SSH and GPG keys => Add Key

然后保存私钥并将其添加到 Pageant(它与 SourceTree 一起运行)

enter image description here

就这些

答案 36 :(得分:0)

  • 创建一个新文件夹在您 PC 中的任何位置(例如台式机)

  • 移动到那个新文件夹并在那里打开 git bash。

& 在 bash 中编写以下代码:

<块引用>
$ git init
$ git remote add origin https://github.com/YOUR_GITHUB_HANDLER/YOUR_REPO_NAME.git
$ git pull origin master

(无论是否拉取文件,请查看新文件夹)

如果文件被拉取,则首先删除该旧文件夹中的所有文件/文件夹(发生所描述的错误)包括 .git 文件夹

& 复制新文件夹中的所有文件,包括 .git 并将其粘贴到发生所描述错误的旧文件夹中。

这将获取您的远程仓库。

如果您想获取远程仓库而不删除您在本地所做的新更改,那么只需复制并粘贴我们新的 .git 文件夹

现在你可以做$ git push origin master

答案 37 :(得分:0)

每当我在工作中使用新计算机或换工作时,这些都是我遵循设置 github 访问的步骤。 Mac 或 Windows

-转到 https://github.[yourWorkDomain].com。导航到设置 → 开发人员设置 → 个人访问令牌
- 生成一个新的令牌
- 设置令牌描述并只检查范围的“repo”框(这将为您提供 repo:status、repo_deployment、public_repo、repo:invite access)

-获得令牌后,复制它(先不要离开,确认接下来的两个步骤有效)
- 再次尝试克隆 repo(使用“https”)
- 对于用户名,请使用您的用户名
-对于密码,粘贴您复制的令牌
- 所有未来的请求现在都应该可以工作,而无需询问您的用户名和密码。

答案 38 :(得分:0)

可能公共/私有配置不正确。请按照以下步骤操作。 在窗口中的任何地方执行命令

ssh-keygen -o -f ~/.ssh/id_rsa

现在转到c://users/xyz/.ssh/并打开id_rsa密钥(路径可能会有所不同) 现在转到gitlab和userprofile> setting> ssh密钥,然后在此处添加密钥。 现在尝试克隆

答案 39 :(得分:0)

我也有完全相同的错误。

问题在于,当将公钥复制到BitBucket中时(在我的情况下),最后复制/粘贴了不可见的换行符。

因此,在复制公钥时,首先将其复制到记事本中,删除末尾的空行,然后复制并粘贴。

答案 40 :(得分:0)

首先,我建议检查一些标准的东西,例如:

  • 以正确的用户身份登录系统
  • 在系统的正确位置具有正确的私钥
  • 尝试连接正确的用户名主机名端口
  • 在外部服务器的正确位置(以及正确的用户)具有公钥
  • 在您的计算机上重新启动ssh服务
service ssh restart

对我来说足够了。

答案 41 :(得分:0)

以管理员身份执行终端。

如果终端看不到您的.ssh,它将返回该错误。

答案 42 :(得分:0)

使用来自Github的ssh链接,但请确保不要使用ssh附加它,只需使用git hub上的ssh选项卡来克隆你的repo。

答案 43 :(得分:0)

我可以通过在我的ubuntu系统中执行以下步骤来解决此问题。因为我正在尝试使用无密码ssh到系统。

sudo vi / etc / ssh / sshd_config

1)评论如下:    #Change to no禁用隧道明文密码    #PasswordAuthentication是的     PasswordAuthentication no ----&gt;评论这个。

2)然后重新启动sshd守护程序,如下所示。

service sshd restart

答案 44 :(得分:0)

让我分享一下我的经历,

我试图从Gerrit仓库中克隆一些项目,我在帐户设置中获取了公钥。

首次尝试git clone时出现以下错误:

Unable to negotiate with XX.XX.XX.XX port XXX: no matching key exchange
method found. Their offer: diffie-hellman-group1-sha1

我发现我需要以某种方式将SSH选项-oKexAlgorithms=+diffie-hellman-group1-sha1传递给git clone

希望GIT_SSH_COMMAND环境变量完成这项工作:

export GIT_SSH_COMMAND="ssh -oKexAlgorithms=+diffie-hellman-group1-sha1"

但是git clone仍然没有开始工作..现在它抛出了(关于主题):

Permission denied (publickey).

我已经获得了SSH密钥,并且不想重新生成它们。我检查了与主机的简单SSH连接,没关系:

****    Welcome to Gerrit Code Review    ****

  Hi XXXXX, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://xxxxx@xx.xx.xx:xxx/REPOSITORY_NAME.git
我有点困惑。我再次启动并通过-vvv选项打开SSH调试。我看到了以下内容:

debug1: read_passphrase: can't open /dev/tty: No such device or address

可能是GIT_SSH_COMMAND env变量的开销 - 我的密钥是用密码保护的(当我检查登录git repo主机时我输入了它。)

所以,我决定放弃那个短语。一个简单的命令帮助了我:

ssh-keygen -p

然后我输入了密码短语&#34;旧密码&#34;然后在&#34;新的passphare&#34;上点击 ENTER 两次把它留空,即根本没有密码,并确认我的选择。

之后我在我的本地磁盘上获得了新克隆的回购邮件。

答案 45 :(得分:0)

@SpringBootApplication

答案 46 :(得分:0)

Mac的步骤:

  1. 切换用户(sudo su - jenkins)
  2. 生成密钥(ssh-keygen -t rsa -b 4096 -C&#34;用户名&#34;)。用户名 是你和詹金斯一起使用的那个。
  3. 复制生成的公钥(cat~ / .ssh / id_rsa.pub)。
  4. 将密钥粘贴到git帐户。 (设置 - &gt; SSH和CPG密钥 - &gt;新增功能 ssh键 - &gt;输入密钥的名称(可以是任意密钥)并将密钥粘贴到 描述)。

答案 47 :(得分:-4)

如果您使用git,请认真阅读文档。这是一个很多关于此文档的文档。如果你遵循它就不会出错。 如果必须,请重新开始。链接: https://help.github.com/articles/connecting-to-github-with-ssh/