He configurado una conexión ssh en la computadora B y me estoy conectando correctamente a través de ssh. Quiero ejecutar un comando git pull
para que lleve el repositorio a la computadora A en lugar de B. ¿Es demasiado complicado o tal vez hay una alternativa?
Básicamente necesito copiar lo que git pull
extrajo de la computadora B a mi computadora A. Lo único que tengo es solo una conexión ssh entre los dos y el repositorio solo es accesible desde la computadora B.
4 respuestas
Es posible ejecutar comandos git
sobre túnel doble ssh. La respuesta aceptada está un poco desactualizada, ssh
actualmente puede construir un túnel sin comandos externos como netcat
o socat
.
Configure en su ~/.ssh/config
:
Host server
HostName git-server
ProxyCommand ssh -W %h:%p B
Esto configura ssh
para iniciar una conexión con el host B
y abre un túnel sobre esa conexión al host git-server
. correr
git pull ssh://server/path/to/repository
Otra posible solución es utilizar ext::
ayudante remoto. Vea la segunda respuesta en la pregunta vinculada. correr
git pull "ext::ssh -t B ssh git-server %S '/path/to/repository'"
Si entiendo correctamente, desea usar Git sobre un túnel SSH para que la computadora A pueda acceder al repositorio REPO.git en la computadora C a través de la computadora B
En la computadora A, abra el túnel SSH:
ssh -L3333: compC: 22 compB
Desde una segunda consola en la computadora A:
git clone ssh: // git @ localhost: 3333 / REPO.git
No estoy seguro de que responderá a su pregunta, pero si es solo para tirar, puede usar el comando scp después de tirar de B:
scp <source> <destination>
Se copiará como el comando cp pero a través de su conexión ssh.
Otra solución (y la solución más directa en mi opinión) es simplemente:
- Conéctese a la máquina remota a través de SSH
- Empuje los cambios remotos a una rama git
- Extraiga los cambios de la rama remota de su máquina local
Nuevas preguntas
linux
Las preguntas de Linux deben estar relacionadas con la programación. Use esta etiqueta solo si su pregunta se relaciona con la programación utilizando API de Linux o un comportamiento específico de Linux, no solo porque ejecuta su código en Linux. Si necesita soporte para Linux, puede probar https://unix.stackexchange.com o el sitio específico de Stack Exchange de la distribución de Linux como https://askubuntu.com o https://elementaryos.stackexchange.com/