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!