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

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

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_keysarquivo 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 commandin ~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_keysarquivo.
  • 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 gitprimeira.
você deve ser 'git' ao fazer essa instalação.

Você deve primeiro gerar no lado do cliente uma gitchave SSH privada e uma git.pubchave pública.
Copie a chave pública no servidor: você passará essa chave pública para o gitolite installcomando.

E comoRyanmenciona ema resposta dele, usa

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

(para vincular a instalação em ~git/binvez do /bindiretó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.

informação relacionada