chave SSH não funciona a partir de um shell remoto

1

Eu me deparei com um problema interessante e literalmente não sei por onde começar a tentar resolvê-lo!

A máquina VCS em nosso escritório está executando o gitweb e minha chave pública está bem nesta máquina. Eu posso acessar os repositórios da minha máquina sem problemas, usando minha chave.

No entanto, se eu estiver em algum tipo de shell remoto, a autenticação de chave não funciona! Ele volta para a autenticação por senha, mas o usuário do git está configurado para não ter uma senha, então isso não é bom!

Eu confirmei o problema com o SSH em outra máquina no escritório e de lá de volta para a minha máquina. Além disso, usando fisicamente outra máquina para SSH na minha máquina e até mesmo passando por uma VPN para acessar minha máquina de uma rede diferente. Em todos os casos, a autenticação com o servidor git falha, apesar de serem comandos idênticos aos que eu executo localmente.

Minha primeira reação foi que a gitose (que lida automaticamente com as chaves) foi mal configurada. Ele inclui várias opções adicionais de segurança nas chaves:

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty

No entanto, o problema está confinado a mim - outras máquinas parecem ser capazes de autenticar sem problemas se o shell é remoto ou local, o que sugere que é meu SSH que está mal configurado. Eu alterei a porta padrão para longe de 22 editando /etc/ssh/sshd_config , mas todo o restante deveria estar nos valores padrão. É possível que alguém tenha editado a configuração, então qualquer coisa a ser observada seria apreciada!

Minha máquina está executando o Ubuntu 9.04 (obviamente, a atualização pode ser uma solução). Realmente, eu estou apenas depois de um ponto de partida - algo para o Google para resolver o problema. Se isso é algo simples que alguém já encontrou antes disso, é fantástico, mas, como eu disse, estou realmente perdido por enquanto!

Obrigado antecipadamente!

    
por adamnfish 08.11.2010 / 18:18

2 respostas

0

Eu tinha várias chaves na minha pasta ~ / .ssh. Eliminar todos eles, mas a chave id_dsa principal e adicionar novamente essa chave à gitose resolveu o problema.

Ainda é um mistério porque eu estava tendo um comportamento tão estranho! Deve ter processado as chaves de maneira diferente via SSH / em um shell local. Se alguém puder lançar alguma luz sobre isso, eu estaria interessado (eu tenho a saída -v e -vvv para shells locais e shells SSH remotos se você precisar).

Eu queria adicionar isso caso alguém encontre o problema! (embora seja muito difícil procurar, porque há tantas perguntas sobre como configurar as chaves ssh)

Muito obrigado a todos que ajudaram.

    
por 09.11.2010 / 16:06
2

Não estou claro em sua descrição de quais chaves e arquivos de configuração residem em quais sistemas. No entanto, se você estiver acostumado a usar sua chave privada de uma caixa para a qual não a copiou, estará fazendo isso por meio do uso do encaminhamento de agente SSH. Tente remover "nenhum agente de encaminhamento" da lista de opções citada acima e veja se isso resolve o problema.

    
por 08.11.2010 / 18:31