2016-07-05 2 views
1

При наличии репозитория Git с [email protected]/project удаленными и файл ~/.ssh/config имеет (среди прочих) следующей записи:Какого пользователя Git будет использовать для аутентификации SSH

Host bitbucket.org 
    User tom 
    IdentityFile ~/.ssh/bitbucket.rsa 

Какого пользователя имеет приоритет над другими (например, при вызове a fetch)?

+0

Вы указали пользователю часть 'git @' в URL-адресе, поэтому конфигурация для 'tom' вообще не будет использоваться. – poke

ответ

1

какой пользователь имеет приоритет над другим (например, при вызове выборки)?

Это описано в странице руководства ssh_config:

ssh(1) получает данные о конфигурации из следующих источников в следующем порядке:

  1. параметры командной строки
  2. конфигурации пользователя файл (~/.ssh/config)
  3. общесистемная конфигурация f Ile (/etc/ssh/ssh_config)

Это означает, что командная строка (мерзавец удаленного git) будет использоваться.

+0

Обратите внимание, что они не относятся к имени пользователя, а только к общей конфигурации. Git всегда требует, чтобы вы указывали имя пользователя с удаленными URL-адресами SSH, поэтому это всегда так важно. 'ssh' тогда просто посмотрит на эти места, чтобы найти возможную конфигурацию для этой комбинации' user @ host'. – poke

+0

@poke Спасибо. Хорошая точка зрения. Но это не изменяет того, что будет использоваться пользователем 'git'. – Jakuje

+0

Правильно; но он не будет принимать этого пользователя из-за причин, которые вы указали. – poke

-1

Если у Вас есть хост-файл, как в вашем вопросе хост-файл будет загружать ключи SSH и «пропустить чтение» (на самом деле не только за то, что понятно) в .ssh папку

В вашем случае, это файлы будет устанавливать конфигурацию по умолчанию для всех пользователей системы на основе их ключа.

+0

Я не вижу, как это относится к файлу «hosts», а также о том, как ~/.ssh/config должен влиять на всех пользователей. –

Смежные вопросы