github是否要求你在ssh-ing时使用“git”作为用户名?

时间:2018-01-20 16:28:05

标签: git github ssh

我正在尝试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作为我的用户名?如果没有,那么其中一个不起作用的问题是什么呢?

1 个答案:

答案 0 :(得分:2)

你总是要使用git用户。来自https://help.github.com/articles/error-permission-denied-publickey/

“所有连接,包括远程URL的连接,必须作为”git“用户。如果您尝试连接GitHub用户名,它将失败:”