如何使用ssh密钥代替密码克隆/推送到特定的Gihub仓库



我已经创建/关联了我的通用帐户的密钥。但是我不知道如何强制我的Mac上现有的克隆repo使用SSH密钥而不是密码。

这是我如何在我的GitHub帐户上设置我的实际密钥:

我在我的GitHub帐户中添加了公钥,当我尝试测试它的工作原理时。我是这样做的:

ssh-keygen -t rsa -C "me@myemailaddress.com"

当它提示位置时,而不是默认文件夹(因为我已经有另一个键在那里)我把它转储在Documents/src/github/keys

现在我有以下文件:

admins-Mini-3:github admin$ ls -lah keys/
total 16
drwxr-xr-x   4 admin  staff   128B 18 Feb 09:55 .
drwxr-xr-x  10 admin  staff   320B 18 Feb 09:58 ..
-rw-------   1 admin  staff   2.6K 18 Feb 09:55 id_rsa
-rw-r--r--   1 admin  staff   579B 18 Feb 09:55 id_rsa.pub
admins-Mini-3:github admin$ 

并证明我可以连接到GitHub…我是这样做的:

admins-Mini-3:github admin$ ssh -i keys/id_rsa -T git@github.com
Warning: Permanently added the RSA host key for IP address '140.82.113.4' to the list of known hosts.
Enter passphrase for key 'keys/id_rsa': 
Hi me! You've successfully authenticated, but GitHub does not provide shell access.
admins-Mini-3:github admin$ 

,但现在……我需要更改Mac上现有的回购…因此,当我向它推送时,它提示我使用SSH密钥。

我在本地编辑了。git/config文件,删除了user info部分…希望它会提示我输入密码或SSH密钥。但事实并非如此。有人能给我指个正确的方向吗?

谢谢。

~/.git/config中的user部分只涉及提交作者身份,而不涉及远程存储库认证

如果您有一个已经存在的克隆存储库:

cd /path/to/local/clone
git remote set-url origin git@github.com:<me>/<myRepo>

将使用SSH而不是HTTPS。

但是我想使用我在特定文件夹中创建的密钥。

然后添加SSH配置文件(/Users/admin/.ssh/config):

Host gh
Hostname github.com
User git
IdentityFile /path/to/my/key

:

cd /path/to/local/clone
git remote set-url origin gh:<me>/<myRepo>

将使用您的特定密钥。

相关内容

  • 没有找到相关文章

最新更新