Подтвердить что ты не робот

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

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

Запрос на распределение PTY не выполнен channel 0 ERROR: Привет... успешно аутентифицирован... GitHub не предоставить доступ к оболочке... Подключение к github.com закрыт.

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

Если ваша аутентификация github информация отличается от вашей информация об учетной записи компьютера, youll необходимо изменить конфигурацию 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 ничего не отличного от того, что Я могу сказать.

Любая идея, что я делаю неправильно?

4b9b3361

Ответ 1

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


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

Я предполагаю, что связанная с этим проблема заключается в том, что когда я пытаюсь создать новый репозиторий и "git push origin master", я возвращаю следующее: "Ошибка: разрешение на [email protected]/myapp отказано в myusername. Fatal: удаленный конец неожиданно повесил трубку"

Вероятнее всего, это проблема. Это указывает на то, что удаленный с именем origin не настроен правильно указывать на репозиторий GitHub.

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

[email protected]:git-user-name/repository-name

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

git remote set-url origin [email protected]:github-username/repository-name

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