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 ответа:
Вы используете другой идентификационный файл с 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-агенту при повторном подключении к существующему экрану? подробнее об этом.