Mein VPS-Anbieter empfiehlt, meinen SSH-Port der benutzerdefinierten Portnummer zu überlassen, die er standardmäßig zuweist (nicht 22). Die Sache ist, während ich weiß, dass ich die Portnummer beim Erstellen einer Remote-Konfiguration angeben kann, scheint es, als könnte ich nicht dasselbe tun, wenn ich einen Git-Klon mache. Ich verwende Gitolite, daher klone ich Befehle wie folgt:
git clone [email protected]:gitolite-admin
Gibt es eine Möglichkeit, dies unter Verwendung der benutzerdefinierten SSH-Portnummer zu verbergen?
Ich sollte auch erwähnen, dass ich Cygwin unter Windows ausführe. Ich habe mehrere Stellen gesehen, die sagten, dass der benutzerdefinierte Port der ~/.ssh/config
Datei wie hinzugefügt werden soll
Host mydomain.com
Port 12345
In Cygwin scheint diese Datei jedoch nicht zu existieren.
git
version-control
ssh
cygwin
Ryanzec
quelle
quelle
.ssh/config
(nichtconf
) im Home-Verzeichnis Ihres Benutzers. Es ist für den Basisbetrieb nicht erforderlich und daher nicht standardmäßig vorhanden. Sie müssen es erstellen. Versuchen Sievim ~/.ssh/config
(oder verwenden Sie Ihren bevorzugten, installierten Texteditor), ihn zu öffnen / zu erstellen./Users/USERX/.ssh/config
IhreHOME
lokale Umgebung auf einstellen/Users/USERX
.Antworten:
Beachten Sie, dass die Portnummer ohne eckige Klammern angegeben werden sollte: []
quelle
git clone [email protected]:[port]/gitolite-admin
git clone ssh://[email protected]:port/home/user/gitolite-admin
1 Was ist das Problem mit der SSH-Konfigurationsdatei?
Wenn die Konfigurationsdatei nicht vorhanden ist, können Sie eine erstellen. Außerdem kann
port
die Konfigurationsdatei andere ssh-Konfigurationsoptionen enthalten:user
IdentityFile
usw. Die Konfigurationsdatei sieht folgendermaßen ausWenn Sie Linux ausführen, achten Sie darauf, dass die Konfigurationsdatei über strikte Berechtigungen verfügt: Lesen / Schreiben für den Benutzer und für andere nicht zugänglich
2 was ist mit der ssh url weg?
Es ist cool, das einzige, was wir wissen sollten, ist, dass es in git zwei Syntaxen für ssh url gibt
ssh://[user@]host.xz[:port]/path/to/repo.git/
[user@]host.xz:path/to/repo.git/
Standardmäßig zeigen Gitlab und Github die SCP-ähnliche Syntax- URL an, und wir können den benutzerdefinierten SSH-Port nicht angeben. Um den SSH-Port zu ändern, müssen wir die Standardsyntax verwenden
quelle
Wenn Sie einen relativen Pfad von Ihrem Home-Verzeichnis (unter UNIX) möchten, verwenden Sie diese seltsame Syntax:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo
Beispiel: Wenn sich das Repo
/home/jack/projects/jillweb
auf dem Server befindetjill.com
und Sie sich wiejack
beimsshd
Abhören von Port 4242 anmelden:ssh://[email protected]:4242/~/projects/jillweb
Und wenn Sie sich als
jill
anmelden (vorausgesetzt, Sie haben Dateiberechtigungen):ssh://[email protected]:4242/~jack/projects/jillweb
quelle
(Update: Einige Jahre später senden mich Google und Qwant "Airlines" immer noch hierher, wenn ich nach "git non-default ssh port" suche.) Ein wahrscheinlich besserer Weg in neueren git-Versionen ist die Verwendung von GIT_SSH_COMMAND ENV.VAR wie:
GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \ git clone myuser@myGitRemoteServer:/my/remote/git_repo/path
Dies hat den zusätzlichen Vorteil, dass jede andere für SSH geeignete Option zugelassen wird (Port, priv.key, IPv6, PKCS # 11-Gerät, ...).
quelle