我的“Codenvy git config”没问题(可以通过菜单推送:git > remote > push)。
现在我想通过命令配置“推送”。
我尝试了一个简单的“git push”,但它要求输入登录名/密码。
设法做到这一点:
git push https://login:pwd@myrepo.git
但是在命令行中有明确的密码并不是一个好主意。
如何使用我的 ssh 密钥在 codenvy 中执行此命令?
这仅适用于 GITHUB!
如果您想使用 ssh,则必须为您的帐户设置 ssh 密钥和密码。检查现有密钥
$ ls -al ~/.ssh
键将具有以下名称之一:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
如果您没有现有密钥,请生成一个:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
然后将您的密钥添加到 ssh-agent
$ eval "$(ssh-agent -s)"
Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
然后将您的密钥添加到 GitHub
$ sudo apt-get install xclip
# Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)
$ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
如果 xclip 不起作用,则只需使用您喜欢的文本编辑器打开文件并使用默认的复制/粘贴工具来复制密钥。
登录 GitHub,单击您的个人资料图片,然后单击设置。在右侧,单击 SSH 和 GPG 密钥。然后单击新建 SSH 密钥,输入描述性标题,将公钥粘贴到密钥字段并提交。
要测试您的连接,请打开您的终端,然后输入
ssh -T git@github.com
您应该看到其中之一:
The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
或者
The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
输入是。然后你应该看到:
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
您现在可以使用您的 ssh 密码推送到 GitHub :)
编辑:我也使用 codenvy,这对我来说非常有效。另请参阅本指南:使用 SSH 连接到 GitHub
Codenvy 基于 Eclipse Che,并从该开源项目中借用其 git 交互。您可以在此处找到有关添加凭据的文档:https ://eclipse-che.readme.io/docs/git#ssh-key-management
但简短的回答是,您可以通过 IDE 的 Profile > Preferences 菜单将您的凭据添加到您的 Codenvy 帐户中。
这取决于您的远程仓库(从您的 CodeEnvy 云会话访问)是否支持注册公共 ssh 密钥。
您首先需要在您的 CodeEnvy 帐户中生成一个 ssh 私有/公共密钥对(在 中~/.ssh
)
,如此CodeEnvy 论坛主题(谈到远程 AWS 存储库)中所述,您需要注册您的公共密钥。
只有这样,ssh url 才不会询问用户名/密码(这是 ssh 找不到公钥时的回退机制)
对于 http,如果 CodeEnvy 支持,您可能需要尝试一个凭证助手。