Estoy configurando mi proyecto git local para un repositorio remoto. El repositorio remoto se sirve en un puerto no estándar (4019).
Pero no funciona. En su lugar, recibo el siguiente mensaje de error:
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'
Mi configuración local de git es la siguiente :
[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
(El puerto y el host son marcadores de posición para el puerto y el host reales).
¿Qué hay de malo en mi configuración de git?
ssh://
delante de la url, cree que es un formato diferente. también lossh://example.com:444/etc/
es / etc / en example.com a través del puerto 44. Mientras queexample.com:444/etc/
es / 444 / etc / en example.com a través del puerto 22.git remote set-url origin [email protected]:443/yourname/yourrepo/
no funcionará. pero, si hacesgit remote set-url origin ssh://[email protected]:443/yourname/yourrepo/
esto, funcionaráRespuestas:
Si pones algo como esto en tu
.ssh/config
:entonces deberías poder usar la sintaxis básica:
fuente
git clone ssh://username@hostname:333/~/repo
para una ruta relativa a su directorio de inicio ogit clone ssh://username@hostname:333/path/to/repo
para una ruta absolutaEl método de acceso git basado en SSH se puede especificar
<repo_path>/.git/config
utilizando una URL completa o una sintaxis similar a SCP, como se especifica en http://git-scm.com/docs/git-clone :Estilo URL:
Estilo SCP:
Tenga en cuenta que el estilo SCP no permite un cambio de puerto directo, sino que se basa en una
ssh_config
definición de host en su~/.ssh/config
tal como:Entonces puedes probar en una shell con:
y altere su URI de estilo SCP
<repo_path>/.git/config
como:fuente
scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ssh://
a miurl
. Si el protocolo no se encuentra a continuación, utiliza git puerto por defecto:22
. Gracias.Prueba esto
fuente
Esto evita su problema en lugar de solucionarlo directamente, pero recomendaría agregar un
~/.ssh/config
archivo y tener algo como estoentonces puedes tener
Y también se puede
ssh git_host
yscp git_host ...
y todo saldrá bien.fuente
SSH no usa la
:
sintaxis al especificar un puerto. La forma más fácil de hacer esto es editar su~/.ssh/config
archivo y agregar:Luego especifique simplemente
git.host.de
sin un número de puerto.fuente