Что делать с "Запросом на выделение PTY на канале 0"

Я не вижу, как можно обернуть голову, создавая ключ ssh для GitHub. У меня это работало довольно давно, но я не могу понять, что изменилось. С тех пор я удалил предыдущие ключи SSH из моей учетной записи GitHub. После нескольких инструкций для генерации ключа SSH ( http://help.github.com/mac-key-setup) и тестирования "ssh git@github.com" я получаю следующее;

Ошибка выделения PTY на канале 0 ОШИБКА: Привет... успешно аутентифицирован...GitHub не предоставляет доступ к оболочке... Соединение с github.com закрыто.

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

Если ваша информация для аутентификации на github отличается от вашей учетной записи компьютера, вам нужно изменить файл конфигурации ssh.

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

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile [local path to private key half of github public key you provided]

Вам также может потребоваться обновить разрешения для вашей папки.ssh и ее содержимого. Приложение SSH будет игнорировать секретные файлы, которые являются слишком разрешающими.

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/*

Я также запустил ssh -v git@github.com, результаты которого можно увидеть здесь http://gist.github.com/607283 ничем не отличающимся от того, что я могу сказать.

Есть идеи, что я делаю не так?

1 ответ

Решение

Как описано в комментариях к этому вопросу, "запрос на выделение PTY не выполнен" является красной сельдью в отношении аутентификации GitHub (это результат попытки интерактивного входа в GitHub, когда единственная предлагаемая ими служба SSH - неинтерактивная Git-over-SSH; аутентификация работает, они просто не предоставляют интерактивный сервис "оболочки").


Человек, который задал вопрос, написал это в комментарии:

Я предполагаю, что связанная проблема заключается в том, что когда я пытаюсь создать новый репозиторий и "мастер git push origin", я возвращаю следующее "Ошибка: В myemail@address.com/myapp отказано в myusername. Fatal: удаленный конец неожиданно завис "

Скорее всего, это актуальная проблема. Кажется, это указывает на то, что пульт с именем origin не настроен для правильного указания на хранилище GitHub.

Проверьте вывод git remote show -n origin, Возможно, "Fetch URL" и "Push URL" совпадают. Они оба должны выглядеть так:

git@github.com:git-user-name/repository-name

При входе в GitHub в Интернете вы можете использовать либо имя пользователя вашей учетной записи, либо связанный с ним адрес электронной почты. При отправке в репозитории (или при извлечении из частных репозиториев) вы должны использовать свое действительное имя пользователя (адрес электронной почты не будет работать). Похоже, вы используете свой адрес электронной почты, а не просто имя пользователя GitHub. Чтобы это исправить, перенастройте URL-адрес пульта:

git remote set-url origin git@github.com:github-username/repository-name

Ваше имя пользователя отображается во многих местах на веб-страницах GitHub после того, как вы вошли в систему. Его проще всего найти между граватаром и ссылкой "Панель инструментов" в заголовке страницы (вы увидите значок силуэта, если у вас нет настроил граватар). То же самое местоположение ссылается на вашу общедоступную страницу профиля; URL этой страницы также должен заканчиваться вашим именем пользователя.

Другие вопросы по тегам