Estou configurando meu projeto git local para um repositório remoto. O repositório remoto está sendo servido em uma porta não padrão (4019).
Mas isso não funciona. Em vez disso, recebo a seguinte mensagem de erro:
ssh: connect to host git.host.de:4019 port 22: Connection refused
fatal: The remote end hung up unexpectedly
error: failed to push to 'ssh://[email protected]:4019/var/cache/git/project.git'
Minha configuração local do git é a seguinte :
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://[email protected]:4019/var/cache/git/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
(A porta e o host são espaços reservados para a porta e o host reais.)
O que há de errado com minha configuração do git?
ssh://
na frente do URL, ele achará um formato diferente. assimssh://example.com:444/etc/
é / etc / em example.com através da porta 44. Considerando queexample.com:444/etc/
é / 444 / etc / example.com através da porta 22.git remote set-url origin [email protected]:443/yourname/yourrepo/
isso não vai funcionar. mas, se você fizergit remote set-url origin ssh://[email protected]:443/yourname/yourrepo/
esse trabalho vontadeRespostas:
Se você colocar algo assim no seu
.ssh/config
:então você poderá usar a sintaxe básica:
fonte
git clone ssh://username@hostname:333/~/repo
para um caminho relativo para o diretório home ougit clone ssh://username@hostname:333/path/to/repo
para um caminho absolutoO método de acesso git baseado em SSH pode ser especificado
<repo_path>/.git/config
usando uma URL completa ou uma sintaxe semelhante ao SCP, conforme especificado em http://git-scm.com/docs/git-clone :Estilo do URL:
Estilo SCP:
Observe que o estilo SCP não permite uma alteração direta de porta, baseando-se em uma
ssh_config
definição de host~/.ssh/config
como:Então você pode testar em um shell com:
e altere seu URI no estilo SCP
<repo_path>/.git/config
como:fonte
scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ssh://
ao meuurl
. Se o protocolo está faltando então usa git porta padrão:22
. Obrigado.Tente isto
fonte
Isso evita o seu problema, em vez de corrigi-lo diretamente, mas eu recomendo adicionar um
~/.ssh/config
arquivo e ter algo parecido com istoentão você pode ter
e você também pode
ssh git_host
escp git_host ...
e tudo vai dar certo.fonte
O SSH não usa a
:
sintaxe ao especificar uma porta. A maneira mais fácil de fazer isso é editar seu~/.ssh/config
arquivo e adicionar:Em seguida, especifique apenas
git.host.de
sem um número de porta.fonte