J'utilise un port ssh non standard (1234) pour la plupart des serveurs auxquels je me connecte. Donc dans mon fichier de configuration ssh j'ai:
Port 1234
Mais github.com utilise le port 22. Lorsque j'essaie de me connecter à github, il essaie évidemment d'utiliser le port 1234. Pour le moment, je dois modifier ma configuration ssh pour que les choses fonctionnent.
Voici un extrait de ma configuration git:
[remote "Origin"]
url = [email protected]:asdf/asdf.git
Jetez un œil à la façon de configurer correctement votre fichier ~/.ssh/config (man 5 ssh_config). Vous pouvez facilement spécifier différents paramètres pour différents hôtes. Pour résoudre votre problème, vous devez définir
Host github.com
Port 22
Host *
Port 1234
Jetez un œil à la page de manuel de ssh_config, elle explique tout ce que vous devez savoir sur les premières pages.
Configuration d'une section dans ~/.ssh/config
est une bonne solution, mais il peut être utile de connaître une autre méthode.
La syntaxe commune scp - de user@Host:path
n'a pas de place pour un port, mais Git prend également en charge un ssh:
Schéma d'URL pouvant être utilisé pour spécifier le port:
ssh://[email protected]:22/asdf/asdf.git
Alors qu'un ssh:
L'URL prend en charge la spécification de port, elle ne prend pas en charge les chemins relatifs (par exemple, il n'y a pas d'équivalent direct à la syntaxe scp - de user@Host:path
où path
ne commence pas par une barre oblique).
GitHub traite les chemins relatifs et absolus de manière identique, donc cela fonctionne pour eux, mais cela peut ne pas fonctionner pour tous les référentiels Git basés sur SSH. Pour un hébergement simple basé sur SSH, vous devrez peut-être insérer /home/username/
ou /Users/username/
lors du passage de chemins relatifs à des chemins absolus. Certains systèmes d'hébergement peuvent ne pas gérer du tout les chemins absolus (bien que j'aurais tendance à appeler un tel manque de support un bug).
(J'adore quand je trouve la réponse juste après l'avoir demandé.)
J'ai modifié ma configuration ssh pour spécifier le port pour chaque hôte au lieu d'être un paramètre global:
Host asdf.com
Port 1234
Host github.com
User git
Hostname github.com
Port 22
J'ai trouvé ce lien, et bien qu'il ait été utile, mon article de blog pourrait aider à le clarifier:
https://prestongarrison.com/change-port-git-is-using-for-ssh/
Fondamentalement, je pense qu'il est préférable de simplement modifier votre fichier .git/config et d'apporter les modifications.