Estou tendo problemas com o Gitlab. Usei o seguinte guia para instalar e configurar o Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md . A instalação parecia correr bem e tudo. O aplicativo da web parece estar funcionando bem. No entanto, não consigo clonar, puxar, empurrar, basicamente não posso usar o Gitlab. Eu vi 403 erros com HTTP e permissão negados ao tentar clonar no SSH.
Garanto que minhas chaves privadas estão configuradas corretamente no Windows e no OS X. Posso ver as chaves públicas no servidor. Adicionei o seguinte ao meu arquivo de configuração em ~ / .ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
É o que vejo em / var / log / secure
Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113
Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113
O /var/log/message
não funcionou quando tentei usar git ou ssh
Não sei para onde ir a partir daqui. Alguma sugestão?
Não sei o que você quer dizer com SSH usando o nome de usuário git. O guia que usei não criou uma senha para o usuário git e afirmou que o usuário não pode ser usado para efetuar login.
Respostas:
Desde que você tenha carregado sua chave privada no seu cliente, parece que isso pode ser um problema de permissão no diretório inicial do usuário 'git' e no diretório .ssh.
Por favor, tente alterar o diretório / home / git para uma máscara 0711:
Verifique se o diretório /home/git/.ssh possui uma máscara 0700:
Verifique se o arquivo /home/git/.ssh/authorized_keys possui uma máscara de 0600:
Substitua / home / git por qualquer diretório inicial para o usuário 'git', se for diferente no tutorial. Se não houver permissões, deixe um comentário e veremos o que mais pode estar acontecendo.
fonte
https://username:[email protected]/repo.git
)Verifique se você possui apenas um registro para sua chave pública (que foi importada pela web)
/home/git/.ssh/authorized_keys
e se essa chave possui o prefixo e o título do gitlab. Em outras palavras, se você adicionou a mesma chave manualmente antes de instalar o gitlab, remova-a.fonte
Eu também recomendo verificar se o usuário tem permissão adequada para clonar / puxar / empurrar o gitlab. Acabei de gastar muito tempo examinando as configurações ssh / https, quando o motivo do problema foi o usuário no gitlab não ter permissões suficientes ...
fonte
Na minha situação, instalei o gitlab via pacotes do FreeBSD. O Gitlab SSH não funcionou. A causa disso foi um diretório inicial errado para o git: (vipw)
Eu mudei isso para:
fonte
Isso pode acontecer se o host tiver um '-' em seu nome. (Embora isso seja legal de acordo com a RFC 952 ).
O ssh solicita uma senha para qualquer host que possua um '-' em seu nome. Isso parece ser puramente um problema com a análise do arquivo de configuração ssh porque adicionar um alias ao ~ / .ssh / config (e usar esse alias nos meus URLs remotos do git) resolveu o problema.
Em outras palavras, tente colocar algo como o seguinte em seu C: / Users / {username} /. Ssh / config
e onde você tem um controle remoto do formulário
remova-o e adicione-o novamente usando o formulário
fonte
Se você estiver usando variáveis de ambiente para passar a chave, codifique-as com base64, caso contrário, elas provavelmente falharão com um erro solicitando sua senha. Isso significa que a chave está corrompida. Se você ver:
Em seguida, base64 codifica a variável SSH_PRIVATE_KEY. Se você estiver no OS X,
irá codificá-lo e copiá-lo para a área de transferência. Agora altere a linha de script .gitlab-ci.yml para
fonte
A execução
eval $(ssh-agent)
corrigiu meu problema.fonte
Meu problema foi que o arquivo de chaves privadas id_rsa criado e salvo pelo puttygen tem um formato diferente do criado em uma máquina ubuntu. Depois de criar um par de chaves da máquina ubuntu, copie esses arquivos de volta para a máquina Windows na pasta% UserProfile% .ssh e adicione a nova chave pública gerada ao Gitlab. Não há mais permissão negada para mim
fonte