Отказано в доступе (publickey) при нажатии кнопки commit для amazon ec2

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

Несколько дней назад я настроил свой удаленный репозиторий git на amazon ec2. После нескольких часов борьбы я заставил это работать и смогpush файлы там. Я работал с ним в течение дня или двух, загружая ресурсы без проблем (я видел каждое обновление должным образом).

Сегодня почему-то не могу ничего к нему подтолкнуть с моей локальной машины.

git push deploy заканчивается следующее сообщение об ошибке (то же самое, которое я вижу, когда пытаюсь получить информацию о развертывании:git remote show deploy):

warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

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

Развернуть существует, потому что я могу ясно видеть это сgit remote -v:

deploy  ssh://[email protected]/home/ubuntu/repo (fetch)
deploy  ssh://[email protected]/home/ubuntu/repo (push)

Я могу правильно SSH к моему серверу, также мой закрытый ключ имеет0400 разрешения. На обеих машинах у меняubuntu 12.04 LTS.

Я подумал, что может быть какая-то проблема с моим открытым ключом, поэтому я решил его воссоздать по закрытому ключу:ssh-keygen -y -f key.pem > key.pub, На основании егоsha он идентичен моему предыдущему открытому ключу:sha1sum key_prev.pub = sha1sum key.pub

Я все еще пошел на сервер и добавил новый ключ к авторизованным ключам также.

Все еще без изменений. Я не могу ничего подтолкнуть. Может кто-нибудь сказать мне, в чем здесь проблема и почему это произошло? Нужно ли что-нибудь делать с моим местным.ssh/known_hosts?

Также в одном из ответов я нашел следующее:

Обратите внимание, что после перезапуска экземпляра имя DNS изменилось. Я влюбился в это несколько раз. Ключевой файл все еще действовал, но «имя сервера» изменилось.

Я фактически перезапустил свою машину, поэтому я считаю, что это очень актуально. Проблема в том, что я не могу понять, что я должен изменить сейчас.

Прочитав ответ VonC.

Я не могу SSH к серверу, делаяssh [email protected] (Я получилPermission denied (publickey).), но я могу сделать это сssh myAliasгде myAlias ​​определяется в~/.ssh/config

Host            myAlias
Hostname        X.X.X.X
User            ubuntu
IdentityFile    path/to/mypem/file.pem

Когда я сделалgit config --global push.default simple У меня другая проблема при выполненииgit push deploy:

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

git push --set upstream master master

Я постараюсь сделатьssh -Tvv [email protected] и расскажу как пойдет.

Ответы на вопрос(1)

Ваш ответ на вопрос