elastix - puerto ssh por defecto
gitolita con puerto no predeterminado (2)
La sintaxis de la URL de Git "estilo SCP" ( user@server:path
) no admite incluir un puerto. Para incluir un puerto, debe usar ssh://
"Git URL". Por ejemplo:
ssh://gitolite@server:2222/repository
Nota: En comparación con gitolite@server:repository
, presenta una ruta de repositorio ligeramente diferente para el extremo remoto (el absoluto /repository
lugar del repository
ruta relativa); Gitolite acepta ambos tipos de rutas, otros sistemas pueden variar.
Una alternativa es usar una entrada Host
en su ~/.ssh/config
(consulte su página de manual ssh_config (5) ). Con dicha entrada, puede crear un "apodo de host SSH" que incorpore el nombre / dirección del servidor, el nombre de usuario remoto y el número de puerto no predeterminado (así como cualquier otra opción de SSH que le pueda gustar):
Host gitolite
User gitolite
HostName server
Port 2222
Entonces puedes usar URLs Git muy simples como gitolite:repository
.
Si tiene que documentar (y / o configurar) esto para varias personas, iría con las URL ssh://
, ya que no hay ninguna configuración adicional involucrada.
Si esto es solo para usted (especialmente si puede terminar accediendo a múltiples repositorios desde el mismo servidor), podría ser bueno tener el apodo de host SSH para guardar algunos tipeos.
Para clonar un repositorio administrado por gitolite uno usualmente usa la siguiente sintaxis
git clone gitolite@server:repository
Esto le dice al cliente de SSH que se conecte al puerto 22 del servidor usando gitolite como nombre de usuario. Cuando lo intento con el número de puerto:
git clone gitolite@server:22:repository
Git se queja de que el repositorio 22: repositorio no está disponible. ¿Qué sintaxis debería usarse si el servidor SSH usa un puerto diferente?
Se explica con gran detalle aquí: https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd#_appendix_4_host_aliases
El uso de un parámetro "host" en ~ / .ssh / config le permite encapsular todo esto dentro de ssh y darle un nombre corto y fácil de recordar. Ejemplo:
host gitolite
user git
hostname a.long.server.name.or.annoying.IP.address
port 22
identityfile ~/.ssh/id_rsa
Ahora puede simplemente usar la palabra gitolite (que es el alias de host que definimos aquí) y ssh deducirá todos los detalles definidos en ella - solo diga ssh gitolite y git clone gitolite: reponame y las cosas funcionarán.