Übergabe von SSH-Optionen an git-clone

7

Ich verbinde mich mit meinem Server über SSH:

ssh user@server -p 2224 -zZ abcd

Ich habe auch ein Git-Repository auf meinem Server. Der einzige Weg, den ich zum Klonen kenne, ist:

git clone ssh://[email protected]:2224/path/to/repo

Mit dem obigen Befehl kann ich keine Verbindung zu meinem Server herstellen, da er -zZ abcdnicht im Befehl enthalten ist. Ich habe die folgenden Befehle ausprobiert, funktioniert aber nicht.

git clone ssh://[email protected]:2224/path/to/repo -zZ abcd

git clone "ssh://[email protected]:2224/path/to/repo -zZ abcd"

Wie kann ich ssh-Parameter in den git-cloneBefehl aufnehmen?

hknik
quelle
Lesen Sie auch Übergeben von SSH-Optionen an Git-Klon
Lazy Badger

Antworten:

5

Sie können Konfigurationsoptionen einrichten, um die Eingabe zu speichern. so danach

$ cat >>.git/config <<EOF
[remote "myrepo"]
    url = ssh://[email protected]:2224/path/to/repo -zZ abcd
EOF

benutze nur git clone myrepo

Weitere Informationen finden Sie in den Erläuterungen zu den Optionen remote..url in der Git-Konfiguration .

Fauler Dachs
quelle
3

Eine andere Möglichkeit besteht darin, SSH-Optionen pro Host festzulegen. Dies kann hilfreich sein, wenn die ssh-Optionen für alle ssh-Befehle und nicht nur für git funktionieren sollen. Diese Optionen befinden sich in ~ / .ssh / config und sind in dokumentiert man ssh_config. Zum Beispiel könnte ~ / .ssh / config Folgendes enthalten:

Host server.com
Compression "yes"
ConnectTimeout 4
GlobalKnownHostsFile /path/to/hosts_file
amcnabb
quelle
0

Wenn Sie regelmäßig ein Repository verwenden, sollten Sie dies .ssh/configwie amcnabb tun tun. Denken Sie daran, dass .ssh/configSie Aliase für Konfigurationsoptionen erstellen können oder .git/configwenn dies aus irgendeinem Grund unangemessen ist.

Wenn Sie jedoch sshwirklich vorübergehende Konfigurationsoptionen übergeben müssen, z. B. weil Sie an einem Flughafen-WLAN hängen bleiben, das blockiert ssh, passen Sie meine üblichen Anweisungen für sshüber an tor:

Installieren Sie connectin Ihrem Pfad, möglicherweise durch Erstellen connect.caus der Quelle

Erstellen Sie ein Skript mit dem Namen git-tbb:

#!/bin/bash
export CONNECT_PASSWORD=""
exec ssh -o ProxyCommand="connect -5 -S 127.0.0.1:9150 %h %p" $*

Erstellen Sie ein Skript mit dem Namen git-tbb

#!/bin/bash
export GIT_SSH=`which ssh-tbb` git pull
exec git $*

Benennen Sie sie in um, -torwenn Sie den Port für die Standardkonfiguration auf 9050 ändern, im Gegensatz zu TBBs Standard 9150.

Jeff Burdges
quelle