MacOS High Sierra - невозможно взаимодействовать с Github через ssh
Я получил новый ноутбук MacOS с последней версией High Sierra.
Я сгенерировал ключ ssh, следуя официальному руководству Github. Затем я добавил это в свой брелок. После этого я обновил файл конфигурации ssh в ~/.ssh/config, чтобы он был следующим:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes
Мне не предлагается пароль; время ожидания каждого соединения Git Pulling, тестирование ssh с помощью ssh -T git@github.com, push upstream и т. Д. Я попытался настроить домен github для использования разных портов, но это не помогло. Я также попытался указать другой порт в URL.
Вот моя обычная ошибка при попытке вытащить:
ssh: connect to host github.com port 22: Operation timed out
fatal: Could not read from remote repository.
Я получаю первую строку при попытке проверить мое соединение ssh, аналогично с портами 443 и 1234 (те, которые я тестировал). Я не могу отключить брандмауэр на этом компьютере.
Мне нужна помощь в устранении неполадок, поэтому, если у кого-нибудь есть какие-либо предложения, чтобы точно определить, почему я не могу здесь общаться, я бы с удовольствием их услышал!
1 ответ
Я получил пару электронных писем с вопросом, исправил ли я проблему, поэтому решил, что опубликую свое решение здесь.
Я подозреваю, что причиной, по которой я не смог подключиться через ssh-порт, был брандмауэр моей компании или домашний домен, который не был добавлен в белый список Github нашей организации.
Когда я впервые пытался решить проблему, я упоминал, что пытался изменить порт - глупо, я просто менял его на случайные номера портов, чтобы посмотреть, получу ли я что-нибудь.
Github поддерживает использование ssh через порт https.
Согласно этой документации, запуск этого позволит вам проверить соединение через https:
ssh -T -p 443 git@ssh.github.com
Если это успешно, вы можете обойти эту проблему подключения, изменив ~/.ssh/config
заставить ssh через порт https (443) для Github:
Host github.com
Hostname ssh.github.com
Port 443
Для других доменов, очевидно, вы бы указали этот домен и имя хоста.
Надеюсь, это поможет кому-то!