我已经创建/关联了我的通用帐户的密钥。但是我不知道如何强制我的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>
将使用您的特定密钥。