我在 Unfuddle 上有一个个人帐户和一个公司帐户。在 Unfuddle 上,SSH 密钥只能用于一个帐户,因此我需要在我的笔记本电脑上为两个帐户创建一个单独的 SSH 密钥。我跑去ssh-keygen -t rsa
生成两个不同名称的密钥(个人是默认名称,公司是 {company}_rsa)。现在的问题是,我的默认密钥似乎无处不在,我无法找到如何在 Git 中为单个存储库指定要使用的密钥。
所以我的问题是:如何指定要在 repo-to-repo 基础上使用的 SSH 密钥?
我设置了我的 ssh_config (~/.ssh/config) 但它似乎仍然不起作用。
配置:
Host {personalaccount}.unfuddle.com
HostName {personalaccount}.unfuddle.com
User git
IdentityFile /Users/dave/.ssh/id_rsa
Host {companyaccount}.unfuddle.com
HostName {companyaccount}.unfuddle.com
User git
IdentityFile /Users/dave/.ssh/cage_rsa
Run Code Online (Sandbox Code Playgroud)
我的公司 unfuddle 帐户上的仓库的 Git 仓库配置文件如下所示:
[remote "origin"]
url = git@{companyaccount}.unfuddle.com:{companyaccount}/overall.git
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
所以我不确定我的 ssh 配置或我的 git 配置是否有问题。
Chr*_*sen 109
如果你有一个活跃的ssh-agent中有您的id_rsa
加载项,那么问题很可能是SSH的第一款产品是关键。Unfuddle 可能会接受它进行身份验证(例如在sshd 中),但拒绝它以授权访问公司存储库(例如,在他们用于授权的任何内部软件中,可能类似于 Gitolite)。也许有一种方法可以将您的个人密钥添加到公司帐户(多个人不会共享相同的corp_rsa
公钥和私钥文件,是吗?)。
的IdentitiesOnly
.ssh/config
配置关键字可以被用来限制的按键时的ssh提供给远程的sshd只是那些通过指定IdentityFile
的关键字(即,其将拒绝使用碰巧被加载到一个活性的任何其他键的ssh-agent)。
试试这些.ssh/config
部分:
Host {personalaccount}.unfuddle.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Host {companyaccount}.unfuddle.com
IdentityFile ~/.ssh/{companyaccount}_rsa
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
然后,使用如下的 Git URL:
git@{personalaccount}.unfuddle.com:{personalaccount}/my-stuff.git
git@{companyaccount}.unfuddle.com:{companyaccount}/their-stuff.git
Run Code Online (Sandbox Code Playgroud)
如果您想充分利用该.ssh/config
机制,您可以提供您自己的自定义主机名并更改默认用户名:
Host uf-mine
HostName {personalaccount}.unfuddle.com
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Host uf-comp
HostName {companyaccount}.unfuddle.com
User git
IdentityFile ~/.ssh/{companyaccount}_rsa
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
然后,使用如下的 Git URL:
uf-mine:{personalaccount}/my-stuff.git
uf-comp:{companyaccount}/their-stuff.git
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
69949 次 |
最近记录: |