Adicionando uma chave id_rsa quebrou minha conexão ssh

2

Hoje, eu comecei a configurar um servidor gitolite no meu servidor Ubuntu 10.04, e eu precisava gerar um par de chaves pública / privada com o ssh-keygen.

Até agora, não há problema. Eu gerou os 2 arquivos (id_rsa & id_rsa.pub) sem nenhum problema no meu cliente Ubuntu 10.10, então transferi (copiei) a chave id_rsa.pub para o servidor (em / tmp /) para instalar o servidor gitolite. / p>

Mas, depois, quando quis me conectar por SSH ao servidor do cliente, recebi um erro parecido com:

PTY allocation request failed on channel 0 

Pesquisando no google, a resposta que encontrei estava relacionada ao / etc / fstab. Isso não faz sentido no meu caso. Então, eu tive a idéia de remover a chave ~ / .ssh / id_rsa e id_rsa.pub do meu cliente, e eu consegui novamente estabelecer uma conexão SSH.

Ca alguém explica por que isso aconteceu? Eu sinto que não entendo algo sobre as chaves de autenticação.

    
por FMaz008 02.04.2011 / 05:16

3 respostas

1

O Gitolite configura o arquivo authorized_keys de tal maneira que você não teria acesso ao shell do servidor. Existem algumas maneiras de contornar isso:

  1. Você pode configurar uma senha para fazer login na máquina e não usar sua chave SSH, exceto quando estiver usando o git.
  2. Você pode gerar outra chave SSH para administrar a máquina, isso exigiria que você usasse ssh -i para substituir a chave padrão que é fornecida ao efetuar login. Se você escolher essa rota, adicione sua chave manualmente (não use gitolite), e certifique-se que a sua chave aparece antes de qualquer adicionada por gitolite.

Basicamente, o que aconteceu é por design. O Gitolite não permite que nenhum usuário obtenha acesso ao servidor, então a mensagem de erro (um pouco confusa) indica que ele está funcionando corretamente.

    
por 06.04.2011 / 04:48
1

Um possível motivo para essa mensagem é que o servidor estourou o número de terminais disponíveis, porque muitos usuários estão conectados ao mesmo tempo. Isso seria uma falha transitória, pois os usuários conectados e desconectados saturariam e dessaturariam o número de ptys.

Outro motivo possível, provavelmente o que se aplica a você, é que as chaves podem ser restritas para proibir a alocação de terminais. Isso não é muito útil na maioria dos casos, mas faz sentido para um servidor que só permite armazenamento e não uso geral - por exemplo, armazenamento git. Se a chave tiver o sinal no-pty (marque a linha correspondente em ~/.ssh/authorized_keys ), você não poderá efetuar login com um terminal.

Se você é um administrador em um servidor git, provavelmente desejará ter uma chave sem restrições. Basta executar ssh-keygen sem -O e ssh-copy-id para instalar uma chave sem restrições. Use chaves restritas para usuários comuns que não executam nada, mas git no servidor.

    
por 03.04.2011 / 13:27
0

Esse erro não se parece com um problema chave, algo mais provavelmente está quebrado com as configurações do seu servidor ssh. Você reiniciou o sshd no servidor? Você consegue fazer o login de um console? Que tal sshing de outra máquina?

    
por 02.04.2011 / 12:41

Tags