我正在尝试ssh到github.com,但是当我使用除“git”之外的其他用户名时我无法连接,而且我不完全确定原因。我有一个~/.ssh/config
文件告诉git当我连接到git时要使用哪个私有rsa密钥。而且,我对.ssh/config
文件的了解如下:
假设我在我的~/.ssh/config
文件中有这个:
Host something.github.com
Hostname github.com
User someuser
IdentityFile ~/desired/private_key
我一直认为这意味着无论何时someuser@something.github.com
,它都会始终使用文件~/desired/private_key
进行连接。首先 - 我对这是正确的理解吗?
其次,我在~/.ssh/config
文件中有以下内容:
# for work
Host my-company.github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_veritone
# also for work, but using my username
Host company.github.com
Hostname github.com
User employee
IdentityFile ~/.ssh/id_rsa_veritone
my-company.github.com
有效,但company.github.com
没有:
08:20 $ ssh -T git@my-company.github.com
Hi employee! You've successfully authenticated, but GitHub does not provide shell access.
08:20 $ ssh -T employee@company.github.com
Permission denied (publickey).
这是预期的行为吗?如果是这样,那么当我使用ssh时git是否要求我使用git
作为我的用户名?如果没有,那么其中一个不起作用的问题是什么呢?
答案 0 :(得分:2)
你总是要使用git用户。来自https://help.github.com/articles/error-permission-denied-publickey/:
“所有连接,包括远程URL的连接,必须作为”git“用户。如果您尝试连接GitHub用户名,它将失败:”