![Não é possível fazer login no ssh após instalar o Gitolite? Falha na solicitação de alocação de PTY no canal 0](https://rvso.com/image/1316779/N%C3%A3o%20%C3%A9%20poss%C3%ADvel%20fazer%20login%20no%20ssh%20ap%C3%B3s%20instalar%20o%20Gitolite%3F%20Falha%20na%20solicita%C3%A7%C3%A3o%20de%20aloca%C3%A7%C3%A3o%20de%20PTY%20no%20canal%200.png)
Depois de instalar o Gitolite em meu Synology DiskStation NAS de acordo com estas instruções: http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation/
Percebi que consegui instalar o gitolite, mas por algum motivo não consegui executar a instalação usando o usuário "git" - mas consegui fazer isso como "root"
Após a instalação, eu desconectei. Mas agora toda vez que tentei fazer login via ssh novamente: $ ssh root@iptonas
Recebi este erro: falha na solicitação de alocação de PTY no canal 0
Eu li em algum lugar que o gitolite desativa logins ssh agora? De que outra forma posso voltar ao shell ..?
Responder1
error: PTY allocation request failed on channel 0
Perfeitamente normal, esperado e sem bloqueio (ou seja, a operação ssh prosseguiria)
Porém, você fez a instalação como root, o que é ruim, principalmente quando você considera opágina ssh Gitolite:
Se você está instalando o gitolite, você é um "administrador do sistema", goste ou não.
Se você estiver usando o modo ssh padrão (ou seja, não o modo http), o ssh é uma habilidade necessária. Reserve um tempo para aprender pelo menos o suficiente para que o acesso sem senha funcione.
O aspecto principal a ser entendido no Gitolite é o uso decomando forçado, para negar o shell interativo e interceptar qualquer comando (incluindo os comandos git), permitindo impor o controle de acesso aos repositórios Git.
Isso significa que seu ~root/.ssh/authorized_keys
arquivo contém linha com:
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
O no-port-forwarding
é responsável por aquela mensagem de aviso " PTY allocation request failed on channel 0
". Mas isso não impede que as operações do Gitolite sejam executadas corretamente.
Ver "como o gitolite usa toda essa magia do ssh?".
Para problemas de ssh, procure em "Solução de problemas de SSH".
Você precisa obter acesso ao seu servidor de outra forma que não seja ssh
, e remover a linha que começa com command
in ~root/.ssh/authorized_keys
.
Você sabe como posso usar o Telnet para refazer o processo de instalação do gitolite?
Uma vez logado como root:
- remova a linha que começa com comando no
~root/.ssh/authorized_keys
arquivo. - certifique-se de que sua chave pública raiz esteja registrada no mesmo arquivo (sem nenhum '
command=
' na frente dela.
Isso garantirá um acesso root através de ss.
Em seguida, refaça a instalação, mas com uma sudo git
primeira.
você deve ser 'git' ao fazer essa instalação.
Você deve primeiro gerar no lado do cliente uma git
chave SSH privada e uma git.pub
chave pública.
Copie a chave pública no servidor: você passará essa chave pública para o gitolite install
comando.
E comoRyanmenciona ema resposta dele, usa
DiskStation> /volume1/homes/git/gitolite/install -ln
(para vincular a instalação em ~git/bin
vez do /bin
diretório "caminho do sistema protegido pela raiz").
Responder2
Concordo que o Gitolite provavelmente não deveria estar rodando como root. Eu cometi esse erro também. Apenas adicionando algumas informações adicionais, caso isso ajude.
Ainda consegui fazer SSH como root na máquina de destino adicionando os seguintes sinalizadores ao meu comando SSH:
PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no
Claro, isso pressupõe que sua conta root tenha uma senha associada a ela. Você não poderá autenticar com uma chave privada devido à maneira como o Gitosis edita o arquivo SSHknown_hosts, no entanto, esse arquivo não será consultado de forma alguma se você especificar sua autenticação preferida com os sinalizadores listados acima.