O meu .ssh / config está correto?

0

Estou tentando conectar-me ao servidor de desenvolvimento local do ubuntu 16.04 de um ip diferente ao ssh, o servidor tem gitlab e tem um hostname público. %código%. Minha porta ssh do gitlab é example.com/2222

meu 9409

Host server
    ProxyCommand ssh -W example.com:2222 username@server
    IdentityFile ~/.ssh/id_rsa

Agora para clonar

.ssh/config

Diz

Cloning into 'test'...
Bad owner or permissions on /.ssh/config
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Também é necessário git clone ssh://server:9409/username/test.git no meu caso? Ainda não sei o que -W faz

Editar:

Eu fiz ssh -W agora recebo chmod 600

Eu ainda acho que meu arquivo de configuração tem um problema em algum lugar

    
por Lynob 10.04.2018 / 10:48

1 resposta

2

Com base nos esclarecimentos, deixe-me primeiro notar que há três nomes de usuários possivelmente diferentes envolvidos aqui:

  1. O nome de usuário para example.com , digamos user1 .
  2. O nome de usuário registrado no Gitlab, que pode ou não ser o mesmo que o acima, digamos user2 . Esta é a conta do Gitlab para a qual você adicionou a chave pública, por exemplo.
  3. O nome de usuário do acesso SSH do Gitlab, que provavelmente é git e quase certamente não é o nome de usuário registrado no Gitlab. Isso depende da configuração do Gitlab.

Dado que, acho que é assim que a sua configuração de ssh deve ficar:

Host  zoltan
  Port 9049
  ProxyCommand ssh -W %h:%p -p 2222 [email protected]

E para clonagem, você deve fazer:

 git clone git@zoltan:user2/project.git

O IdentityFile que você está especificando é usado por padrão, de modo que pode ser omitido, a menos que haja outras configurações conflitantes na sua configuração de SSH.

    
por muru 10.04.2018 / 13:18