gitlab.com Тайм-аут соединения SSH

Я пытаюсь заставить работать Gitlab с SSH, но это не так.

Я сделал следующие шаги:

1) сгенерировать ssh-ключ

ssh-keygen -t rsa -C "myemail@myhoster.com" -b 4096

2) назвал ключ "id_rsa" в папке /Users/myUserName/.ssh/

3) скопировал ключ через

pbcopy < ~/.ssh/id_rsa.pub

4) вставьте ключ в gitlab

Теперь, когда я пытаюсь клонировать репозиторий, я получаю следующую ошибку:

$ git clone git@gitlab.com:myName/repositoryName/ repoName
Cloning into 'repoName'...
ssh: connect to host gitlab.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Что не так?

5 ответов

Я оказался с той же проблемой.

Как описывает Адриан Диморз, вы можете проверить, есть ли у вас доступ к Gitlab через SSH, с помощью следующей команды:

ssh git@gitlab.com

Вы должны получить ответ, подобный этому:

...
Welcome to GitLab, <Gitlab ID Account>!
Shared connection to altssh.gitlab.com closed.

Если нет, то betarrabara должен решить ваши проблемы, НО вы не должны указывать свой id_rsa, а вместо этого id_rsa.pub:

Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.pub

Наконец, я думаю, что вы должны принять ответ, если ваша проблема была решена.

Обратите внимание: комментарий был бы лучшим способом подчеркнуть мою точку зрения, но я не могу.

GitLab.com запускает второй SSH-сервер, который прослушивает обычно используемый порт 443, который вряд ли будет защищен брандмауэром.

Все, что вам нужно сделать, это отредактировать свой ~/.ssh/config и измените способ подключения к GitLab.com.

Host gitlab.com
 Hostname altssh.gitlab.com
 User git
 Port 443
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa

Источник: https://about.gitlab.com/2016/02/18/gitlab-dot-com-now-supports-an-alternate-git-plus-ssh-port/

Я попробовал описанный выше метод, но удалил.pub в последней строке, потому что в нем указан неправильный формат. И это сработало.

Host gitlab.com
 Hostname altssh.gitlab.com
 User git
 Port 443
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa

Вы можете попробовать:

ssh git@gitlab.com

Он должен открыть соединение, которое немедленно закрывается.

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

В моем случае мой экземпляр EC2 был перезапущен, и IP-адрес изменился (из-за перезапуска), но я забыл обновить IP-адрес своего сервера в файле «.gitlab-ci.yml». Как только я обновил правильный IP-адрес, конвейер работает успешно.

PS: я практикую вариант использования в курсе «Techworld with Nana».

Другие вопросы по тегам