Не может "git push" к Heroku

Я не могу git push в Heroku обычным способом из моего дома. Я пробовал использовать две разные учетные записи (home и work), в разных приложениях, с разными ключами ssh. Это не поврежденное РЕПО, потому что оно работает с моего рабочего компьютера. (На самом деле, я обычно работаю вокруг этого ssh-ing для работы и развертывания оттуда, но питание отключилось там, поэтому я не могу сделать это в эти выходные!)

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

Сообщение Об Ошибке (Не -)

$ git push heroku master
Connection closed by 50.19.85.132
fatal: Could not read from remote repository.

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

обратите внимание, что он висит ровно на 60 секунд, прежде чем соединение будет закрыто и это отображается.

$ git push -v heroku master
Pushing to git@heroku.com:myherokuapp.git
Connection closed by 50.19.85.154
fatal: Could not read from remote repository.

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

что я пробовал

  • heroku keys:add -- команда выполняется успешно, ключи добавляются в мою учетную запись (показать на heroku.com и я получаю электронное письмо), но ничего не меняется.

  • регенерация ключей полностью. То же, что и выше.

  • удаление и повторное добавление git heroku "РЕПО" с использованием как git remote и heroku git:remote команды. (Никакое изменение.)

  • отладка соединения с ssh -vvv. (Смотреть ниже.)

вывод различных команд отладки

$ git remote -v
heroku  git@heroku.com:myherokuapp.git (fetch)
heroku  git@heroku.com:myherokuapp.git (push)

$ heroku apps:info
=== myherokuapp
Git URL:       git@heroku.com:myherokuapp.git
Owner Email:   twobitalchemist@gmail.com
Region:        us
Stack:         cedar
Web URL:       http://myherokuapp.herokuapp.com/

$ ping -c4 50.19.85.132
PING 50.19.85.132 (50.19.85.132) 56(84) bytes of data.
64 bytes from 50.19.85.132: icmp_seq=1 ttl=37 time=48.9 ms
64 bytes from 50.19.85.132: icmp_seq=2 ttl=37 time=49.1 ms
64 bytes from 50.19.85.132: icmp_seq=3 ttl=37 time=47.9 ms
64 bytes from 50.19.85.132: icmp_seq=4 ttl=37 time=49.2 ms

--- 50.19.85.132 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 47.997/48.832/49.245/0.498 ms

$ ping -c4 50.19.85.154
PING 50.19.85.154 (50.19.85.154) 56(84) bytes of data.
64 bytes from 50.19.85.154: icmp_seq=1 ttl=41 time=47.8 ms
64 bytes from 50.19.85.154: icmp_seq=2 ttl=41 time=47.7 ms
64 bytes from 50.19.85.154: icmp_seq=3 ttl=41 time=49.7 ms
64 bytes from 50.19.85.154: icmp_seq=4 ttl=41 time=50.0 ms

--- 50.19.85.154 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 47.746/48.855/50.055/1.059 ms

$ ssh -vvv git@heroku.com
OpenSSH_6.6.1, OpenSSL 1.0.1h 5 Jun 2014
debug1: Reading configuration data /home/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to heroku.com [50.19.85.132] port 22.
debug1: Connection established.
[ several lines ommitted ]
debug1: Offering ECDSA public key: /home/user/.ssh/id_ecdsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
[ hangs here ]
Connection closed by 50.19.85.132

Дополнительная Информация

Я использую Arch Linux, на том же ISP, который я использую на работе (хотя на работе у нас есть статический IP), и у меня нет брандмауэр, кроме встроенного в мой домашний (Netgear) маршрутизатор, который настроен не блокировать ничего. Я не стою за прокси. Я могу развернуть на GitHub просто отлично отсюда. По какой-то причине я просто не могу установить связь с хероку. Я знаю, что мои открытые ключи не отклоняются, и что это просто не соединение в первую очередь, потому что журналы ничего не показывают и нет никакой активности:

$ heroku logs
2014-08-02T02:12:36.883623+00:00 heroku[api]: Enable Logplex by twobitalchemist@gmail.com

Update: я открыл билет Heroku по этому вопросу и жду ответа от их поддержки. Я отвечу здесь, если они смогут решить эту проблему.

2 ответов


похоже, это может быть проблема с сертификатом безопасности. Heroku не поддерживает ключ ECDSA,в их документации. Я бы создал новый ключ SSH RSA, который вы используете для heroku и только для heroku, отправьте им новый открытый ключ, а затем настройте файл конфигурации ssh для обслуживания этого ключа, когда SSH обращается к heroku.com - ...

это то, что у меня есть в моем ~/.ssh/config файл на моем ноутбуке:

Host heroku.com
  IdentityFile /Users/danielrice/.ssh/identity.heroku.danielricecodes
  IdentitiesOnly yes

попробуйте это:

git@heroku.com/myherokuapp.git

это может быть недопустимый url:

git@heroku.com:myherokuapp.git

альтернативно попробуйте использовать формат https для вашего пульта ДУ.

https://git@heroku.com:myherokuapp.git

или

https://git@heroku.com/myherokuapp.git

возможно, у вас нет правильных портов, открытых для протокола git

Примечание: общие схемы URL для репозиториев git:

ssh:// - default port 22
git:// - default port 9418
http:// - default port 80
https:// - default port 443

я добавил Это, потому что вы пытались проверить свое ssh-соединение, которое, вероятно, является портом 22. Вы, возможно, должны проверить порт 9418.

еще один вариант-заставить git использовать https: / / вместо git://:

git config --global url."https://".insteadOf git://

или

git config --global url."https://git.somehost.com".insteadOf git://git.somehost.com