bel*_*liz 5 iterm ssh-keys git-push gitlab git-init
我正在使用 macOS Catalina。我已经在 GitLab 上有一个存储库并SSH-key分配了一个。现在我想从终端创建另一个存储库。我执行以下操作:
git config user.name my_name
git config user.email my_email
git init
Run Code Online (Sandbox Code Playgroud)
然后我得到这个:
Initialized empty Git repository in directory
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。
git remote add origin git@gitlab.com:my_name/repo.git
git add .
git commit -m 'commit'
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
然后我转到我已经拥有的存储库并尝试推送到那里,一切正常,所以我想我对SSH-key. 我知道这是互联网上一个非常常见的问题,但没有一个答案能解决我的问题。
首先,您应该只在 agit init .之后而不是在 a之后获得“在目录中初始化的空 Git 存储库”git remote add origin ...
其次,使用 GitLab,您可以推送创建一个新项目,如本 MR 中所示,从 GitLab 10.5(2018 年第一季度)开始
第三,如果错误仍然存在,则密钥有问题。
测试它:
ssh -Tv git@gitlab.com
Run Code Online (Sandbox Code Playgroud)
还
git -c core.sshCommand="ssh -v" push -u origin master
Run Code Online (Sandbox Code Playgroud)
要生成有效的密钥:
ssh-keygen -t rsa -P "" -m PEM
Run Code Online (Sandbox Code Playgroud)
并将您的新 id_rsa.pub 注册到您的 GitLab 个人资料。
我尝试了上述所有解决方案,但都不起作用。然后我阅读日志,发现它正在特定文件夹中查找密钥,我创建了该密钥并将其添加到我的 Gitlab 配置文件中。然后它开始工作了。
\nGit 身份验证问题可以通过读取 git 日志并在适当的文件夹下创建适当的 SSH 密钥来解决。
\nSteps\nRun Code Online (Sandbox Code Playgroud)\n运行以下命令,它将尝试推送代码,如果不成功,则会显示错误所在
\ngit -c core.sshCommand="ssh -v" push -u origin master\n\nRun Code Online (Sandbox Code Playgroud)\n现在,我们可以生成一个新的 SSH 密钥,以下命令将在工作文件夹中生成一个密钥。
\nssh-keygen -t rsa -P "" -m PEM\n\nRun Code Online (Sandbox Code Playgroud)\n它将询问密钥名称,您可以指定 id_rsa 作为密钥名称或 Bash 显示为“正在尝试私钥:c:/Users/Dell/.ssh/”的任何名称。\n在 bash 中生成密钥后,您的工作目录将有密钥。
\n\n我们还应该确保将 SSH 密钥添加到 Gitlab 帐户。\n单击您的 Gitlab 帐户“我的个人资料”并选择首选项。\n单击以查看如何将 SSH 添加到您的 Gitlab 帐户\n\xe2\x80\x83
\n单击“SSH 密钥”菜单,使用记事本打开生成的密钥文件,然后从记事本复制密钥内容并将其粘贴到 SSH 密钥文本编辑器中并保存。\nSSH 密钥添加到您的 Gitlab 帐户
\n再次运行以下命令并立即检查。代码将被推送。
\ngit -c core.sshCommand="ssh -v" push -u origin master\n\nRun Code Online (Sandbox Code Playgroud)\n代码将被推送。
\n\n| 归档时间: |
|
| 查看次数: |
11973 次 |
| 最近记录: |