Git SSH密钥
了解如何配置和解决SSH密钥问题 | 解决Permission Denied(publickey)问题。
SSH密钥用于在不涉及密码的情况下识别受信任的计算机。在Buddy中,您可以使用现有密钥或生成新密钥对。
生成Git SSH密钥
单击右上角的头像显示下拉菜单并点击SSH密钥进入页面
根据所需如上图三个蓝色链接按钮,按指示复制粘贴密钥、上传密钥或生成新密钥。
手动生成Git SSH密钥
启动您的控制台/终端并输入:
ssh-keygen -t rsa -b 4096 -C "your_email@address"
当系统提示您选择保存密钥的默认文件时按回车键
输入密码(passphrase)以获得更高的安全性(选填)
查看密钥指纹(id)并关闭控制台
添加现有SSH密钥
- 点击粘贴新的SSH密钥...并复制您现有的密钥粘贴至密钥框中
- 点击上传新的SSH密钥...并选择上传您现有的密钥文件至密钥上传框中
解决SSH密钥问题
密钥和配置文件的默认路径是~/.ssh
。密钥的默认名称是 id_rsa
。如果您愿意,您可以命名其他名称,但必须在配置中正确对应。
不能克隆或推送/拉取存储仓
如果您无法从存储仓克隆或推送/拉取,请确保您已根据以下列表配置所有内容:
文件
~/.ssh/config
应该包含一个我们服务的条目:Host app.buddy.works
HostName app.buddy.works
User buddy
IdentityFile ~/.ssh/id_rsa您项目的SSH URL如下所示(HTTP URL将不工作):
buddy@app.buddy.works:WORKSPACE/PROJECT
密钥已添加到ssh-agent:
ssh-add ~/.ssh/id_rsa
远程地址已在存储仓中正确配置。本地存储仓文件夹包含一个隐藏的
.git
目录和config
文件。确保文件包含以下条目:[remote "origin"]
url = buddy@app.buddy.works:WORKSPACE/PROJECT
fetch = +refs/heads/*:refs/remotes/origin/*
权限拒绝错误
如果您收到以下错误,则表示添加到Buddy的密钥与您计算机上的密钥不匹配:
Permission denied (publickey,keyboard-interactive).
fatal: The remote end hung up unexpectedly
您可以这样操作:
转到您的
~/.ssh
文件夹并仔细检查该文件夹中的公钥是否与Buddy中的相同。运行这个命令,看看 Buddy 是否可以正确地使用密钥进行身份验证:
ssh buddy@app.buddy.works
如果一切正常,您将收到这种类型的响应:Hi there! You are good to go. Just start pushing and pulling :)
Connection to buddy.works closed.
如果再次验证失败,则意味着密钥仍然不匹配。如果您100%确定密钥相同并且一切正常,请运行 ssh -vvv buddy@app.buddy.works
并将输出发送到 support@buddy.works - 我们会尽力协助您完成配置。