Git push терпит неудачу на экране GNU


Я могу просто отлично нажать на мой РЕПО GitHub с моего VPS, но как только я войду в экран, мне будет отказано в разрешении:

littke@[server]:~/src/[repo]$ git push
Pushing to git@github.com:littke/[repo].git
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Несмотря на то, что я могу auth:

littke@[server}:~/src/[repo]$ ssh git@github.com -i ~/.ssh/littke 
Enter passphrase for key '/home/littke/.ssh/littke':
PTY allocation request failed on channel 0
Hi littke! You've successfully authenticated, but GitHub does not provide shell access.

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

3 7

3 ответа:

Вы используете другой идентификационный файл с ssh (опция-i), чем использует git. Вы должны сказать git, какой идентификатор использовать, через ваш конфиг. См. GitHub по поиск и устранение неисправностей СШ вопросов, в разделе "СШ конфиг":

Создайте или откройте файл по адресу ~/.ssh / config добавьте следующие строки:

Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile [local path]

-i заставляет ssh использовать другой ключ. Когда вы пытаетесь использовать git, ssh не знает об этом ключе. Попробуйте вместо этого использовать имя ключа по умолчанию или ssh-add ключ, чтобы ssh знал об этом.

Некоторые дополнительные биты должны быть настроены, чтобы заставить SSH agent-forwarding работать в пределах экрана. Посмотрите на Как заставить экран автоматически подключаться к текущему ssh-агенту при повторном подключении к существующему экрану? подробнее об этом.