Ошибка агента TeamCity "не удалось выполнить проверку агента"

Я запускаю сервер и агент TeamCity 7 на MacOS. Мой репо находится на github. Я использую ssh, и я знаю, что аутентификация настроена правильно, потому что тест прошел успешно.

Строка отлично работает, когда я использую режим проверки VCS "Автоматически на сервере", однако, когда я использую режим проверки VCS "Автоматически на агенте", я получаю эту ошибку.

[13:40:35][Updating sources] Failed to perform checkout on agent: '/usr/bin/git fetch --progress origin +refs/heads/master:refs/remotes/origin/master' command failed.
stderr: java.io.IOException: Authentication failed
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:275)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:159)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:139)
fatal: The remote end hung up unexpectedly

Что мне не хватает?

Ответ 1

Попробуйте добавить в конфигурацию сборки teamcity.git.use.native.ssh = true в качестве параметра конфигурации.

Это помогло мне решить подобную проблему. Я узнал этот трюк от здесь.

Ответ 2

То, что для меня совершенно не было очевидным, заключается в том, что секретный ключ по умолчанию на сервере копируется в агент и используется там. Я попытался сперва напрасно добавить закрытый ключ к пользователю, с которым работал агент (очевидно, на машине-агенте). Но затем я добавил секретный ключ к пользователю, который запускал TeamCity на серверной машине, а затем завершила проверку Agent Side.

Я также использовал свойство teamcity.git.use.native.ssh=true, но я не думаю, что это помогло с этой конкретной проблемой.

Единственный след этой информации был в этот комментарий.