Назад | Перейти на главную страницу

git pull на экземпляре EC2, к которому обращается ssh, работает на некоторых рабочих станциях, а не на других

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

Оба - Ubuntu. У обоих есть синхронизированные папки .ssh, включая ключи RSA. На обоих я могу успешно подключиться к нашему экземпляру EC2 по ssh и работать с экземпляром EC2 через терминал, запустить python и т. Д.

За исключением использования git. На башне, git pull на моем репо работает нормально. На ноутбуке git pull в том же репо говорится, что в разрешении отказано. В обоих случаях я успешно вошел в один и тот же экземпляр EC2 и работаю в окне терминала. В чем может быть разница, которая вызывает у меня ошибку разрешения?

Один из возможных вариантов: мой ноутбук работает через VPN, а вышка через Ethernet. (Наши репозитории хранятся в частном битбакете, а не в github.) Может ли это иметь значение, даже если я успешно вошел в экземпляр EC2 и работаю в терминале? Может ли быть так, что даже изнутри EC2, git каким-то образом читает, что я там через VPN, и отказывает мне в разрешении?

Если вы используете SSH, и если вы используете ssh-agent для управления ключами на ноутбуке или башне (или на обоих) это может быть связано с Перенаправление агента SSH:

Пересылка агента SSH может использоваться для упрощения развертывания на сервере. Это позволяет вам использовать локальные ключи SSH вместо того, чтобы оставлять ключи (без парольных фраз!) На вашем сервере.

Даже с одинаковыми .ssh папок как на ноутбуке, так и на настольном компьютере, агент может хранить разные наборы ключей на одном, чем на другом.

ssh-add -L должен перечислить ключи, хранящиеся в настоящее время агентом. Если ключ, который вы используете для своего репо, указан на одном компьютере, но не указан на другом (или если на другом вообще не запущен ssh-agent), то в этом ваш виновник.