Ho un server Git dietro un firewall. Posso accedere al firewall da casa mia, ma non dal server git. Tuttavia, posso accedere al server Git dal firewall (cioè, posso SSH al firewall e quindi SSH dal firewall al server git). Sto cercando di spingere e tirare i repository git dalla mia macchina domestica, e ho pensato che SSH ProxyCommand lo avrebbe fatto. Così ho aggiunto il seguente al mio file di configurazione SSH:Git, SSH e ProxyCommand
Host git_server
HostName git_server.dom
User user_git_server
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh firewall exec nc %h %p
Host firewall
HostName firewall.dom
User user_firewall
IdentityFile ~/.ssh/id_rsa
Con questa impostazione, posso direttamente SSH al server git facendo ssh git_server
. Tuttavia, i comandi git che devono comunicare con il server non funzionano. git remote show origin
fallisce con il messaggio:
ssh: connect to host git_server.dom port 22: Operation timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
l'URL del pronti contro termine è all'origine
ssh://[email protected]_server.dom/path/to/bare/repository/repo.git
penso di avere la maggior parte delle cose a posto, ma manca un piccolo pezzo cruciale. Qualche suggerimento su cosa potrei fare male?
No, che potrebbe funzionare anche. È un [ssh-uri] (http://stackoverflow.com/a/9835653/6309), cioè una sintassi non [scp] (http://stackoverflow.com/a/14134674/6309) che wouldn ' t usare il file '~/.ssh/config'. E se dovessi usare la [sintassi di scp] (http://www.hypexr.org/linux_scp_help.php) come suggerito, non avresti bisogno di specificare il nome utente: 'ssh: // git_server:/path/a/nudo/repository/repo.git'. E tu intendevi ['due punti'] (http://en.wikipedia.org/wiki/Colon_%28punctuation%29), non "colore";) – VonC
Non sono sicuro di cosa esattamente ti abbia fatto dire "No" ". Quando un ssh-uri NON userà il file ssh-config? – innaM
Ah. Testato questo e il colon deve andare. – innaM