Mon fournisseur VPS recommande que je laisse mon port SSH au numéro de port personnalisé qu'ils lui attribuent par défaut (pas 22). Le problème est que, même si je sais que je peux donner le numéro de port lors de la création d'une configuration distante, il semble que je ne puisse pas faire la même chose lorsque je fais un clone git. J'utilise gitolite donc je cloné les commandes ressemblent à:
git clone [email protected]:gitolite-admin
Existe-t-il un moyen de convertir cela en utilisant le numéro de port ssh personnalisé?
Je devrais également mentionner que j'exécute cygwin sous Windows. J'ai vu plusieurs endroits disant d'ajouter le port personnalisé au ~/.ssh/config
fichier comme
Host mydomain.com
Port 12345
cependant dans cygwin, ce fichier ne semble pas exister.
git
version-control
ssh
cygwin
Ryanzec
la source
la source
.ssh/config
(pasconf
) dans le répertoire personnel de votre utilisateur. Il n'est pas nécessaire pour le fonctionnement de base et n'existe donc pas par défaut. Vous devrez le créer. Essayezvim ~/.ssh/config
(ou utilisez votre éditeur de texte préféré et installé) pour l'ouvrir / le créer./Users/USERX/.ssh/config
vous devez définir votreHOME
environnement local sur/Users/USERX
.Réponses:
Notez que le numéro de port doit être là sans les crochets: []
la source
git clone [email protected]:[port]/gitolite-admin
git clone ssh://[email protected]:port/home/user/gitolite-admin
1 Quel est le problème avec le fichier de configuration ssh?
Lorsque le fichier de configuration n'existe pas, vous pouvez en créer un. Outre
port
le fichier de configuration peut inclure d'autres options de configuration ssh:user
IdentityFile
et ainsi de suite, le fichier de configuration ressemble àSi vous utilisez Linux, veillez à ce que le fichier de configuration ait une autorisation stricte: lecture / écriture pour l'utilisateur, et non accessible par d'autres
2 Qu'en est-il de la manière ssh url?
C'est cool, la seule chose que nous devons savoir, c'est qu'il existe deux syntaxes pour ssh url dans git
ssh://[user@]host.xz[:port]/path/to/repo.git/
[user@]host.xz:path/to/repo.git/
Par défaut, Gitlab et Github afficheront le scp comme l' url de syntaxe , et nous ne pouvons pas donner le port ssh personnalisé. Donc, pour changer le port ssh, nous devons utiliser la syntaxe standard
la source
Lorsque vous voulez un chemin relatif depuis votre répertoire personnel (sur n'importe quel UNIX), vous utilisez cette étrange syntaxe:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo
Par exemple, si le dépôt est
/home/jack/projects/jillweb
sur le serveurjill.com
et que vous vous connectez commejack
avec l'sshd
écoute sur le port 4242:ssh://[email protected]:4242/~/projects/jillweb
Et lorsque vous vous connectez en tant que
jill
(en supposant que vous disposez des autorisations de fichier):ssh://[email protected]:4242/~jack/projects/jillweb
la source
(Mise à jour: quelques années plus tard, les "compagnies aériennes" Google et Qwant m'envoient toujours ici lors de la recherche de "port ssh git non par défaut") Une meilleure façon probablement dans les nouvelles versions de git est d'utiliser le GIT_SSH_COMMAND ENV.VAR comme:
GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \ git clone myuser@myGitRemoteServer:/my/remote/git_repo/path
Cela a l'avantage supplémentaire de permettre toute autre option appropriée ssh (port, priv.key, IPv6, périphérique PKCS # 11, ...).
la source