Не удается войти в систему после установки Gitolite? Ошибка выделения PTY на канале 0

5489
Jay

После того, как я установил Gitolite на свой NAS-устройство Synology DiskStation в соответствии с этими инструкциями: http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation/

Я понял, что мне удалось установить gitolite, но по какой-то причине я не смог запустить установку, используя пользователя "git" - но я смог сделать это как "root"

После установки я вышел из системы. Но теперь каждый раз, когда я снова пытался войти через ssh: $ ssh root @ iptonas

Я получил эту ошибку: не удалось выполнить запрос PTY на канале 0

Я где-то читал, что gitolite теперь отключает логины ssh? Как еще я могу вернуться в оболочку ..?

2
Мой предыдущий ответ сработал? http://superuser.com/a/430902/141 VonC 11 лет назад 0

1 ответ на вопрос

2
VonC
error: PTY allocation request failed on channel 0 

Совершенно нормально, ожидаемо и не блокируется (т.е. будет выполняться операция ssh)

Тем не менее, вы сделали установку как root, что плохо, особенно если учесть страницу ssh Gitolite :

Если вы устанавливаете gitolite, вы - системный администратор, нравится вам это или нет .
Если вы используете режим ssh по умолчанию (т.е. не режим http), ssh - необходимый навык. Пожалуйста, найдите время, чтобы узнать, по крайней мере, достаточно, чтобы получить доступ без пароля.

Ключевым аспектом, который необходимо понять в Gitolite, является использование принудительной команды, чтобы запретить интерактивную оболочку и перехватывать любую команду (включая команды git), что позволяет ему осуществлять контроль доступа к репозиториям Git.

Это означает, что ваш ~root/.ssh/authorized_keysфайл содержит строку с:

command="/devit_home/users/vobadm/gitpoc/ce7/gitolite/bin/gitolite-shell gitoliteadm",no-port-forwarding,no-X11-for warding,no-agent-forwarding,no-pty ssh-rsa AAAAB3N 

no-port-forwardingОтвечает за предупреждающего сообщения « PTY allocation request failed on channel 0». Но это не мешает операциям Gitolite работать правильно.

Посмотрите, " как gitolite использует всю эту магию ssh? "

Для ssh, посмотрите в раздел « Устранение неполадок SSH ».
Вам нужно получить доступ к вашему серверу иначе, чем sshудалить строку, начинающуюся с commandin ~root/.ssh/authorized_keys.


Знаете ли вы, как я могу использовать Telnet, чтобы повторить процесс установки gitolite?

После входа в систему как root:

  • удалить начало строки по команде в ~root/.ssh/authorized_keysфайле.
  • убедитесь, что ваш корневой открытый ключ зарегистрирован в том же файле (так что command=перед ним не должно быть никаких символов ' ').

Это обеспечит root-доступ через ss.

Затем повторите установку, но sudo gitсначала.
вы должны быть "мерзавцем" при выполнении этой установки.

Сначала вы должны сгенерировать на стороне клиента gitзакрытый ключ ssh и git.pubоткрытый ключ.
Скопируйте открытый ключ на сервер: вы передадите этот открытый ключ gitolite installкоманде.

И как Райан упоминает в своем ответе, использует

DiskStation> /volume1/homes/git/gitolite/install -ln 

(чтобы связать установку с каталогом ~git/bin«системный путь, защищенный от корня» /bin).

Спасибо! Это немного проясняет ситуацию. Но что вы имеете в виду именно под «плохо, что я установил через root»? Каковы последствия? И есть ли способ сделать шаг назад и правильно его переделать? Jay 11 лет назад 0
@Jay. Неудобство установки с правами root заключается в возможности заблокировать себя вне сервера (если у вас есть доступ по ssh). Вы можете просто повторить процесс установки, но на этот раз сначала с помощью sudo git. VonC 11 лет назад 1
Ну, другой вариант - это Telnet, но я понятия не имею, что это такое. Так что да, я думаю, что я заперся. Есть ли способ отменить это? Jay 11 лет назад 0
@ Не знаю, как я знаю, но изучите эту опцию telnet (это сервис, подобный ssh, только без шифрования). Попробуйте `telnet @ ip_of_your_server` и посмотрите, сможете ли вы подключиться таким образом. VonC 11 лет назад 1
Хорошо, я могу войти через Telnet, похоже. Знаете ли вы, как я могу использовать Telnet, чтобы повторить процесс установки gitolite? Большое спасибо за вашу помощь !! Jay 11 лет назад 0
@Jay: ответ отредактирован VonC 11 лет назад 0

Похожие вопросы