La fixation d'un chemin d'accès personnalisé pour git privé de clé SSH sous linux
Je suis en train de configurer un client de git sous linux. J'ai envoyé ma clé privée de la machine, et je comprends que je devrais le mettre dans ~/.ssh, mais je n'ai pas accès à ce dossier.
Comment puis-je indiquer à git de chercher la clé privée de quelque part d'autre?
Vous devez vous connecter pour publier un commentaire.
Une option est d'utiliser
ssh-agent
et de fournir un nom de fichier pourssh-add
.Par exemple:
Vous pouvez le faire à l'aide d'un ssh fichier de config.
D'abord créer un fichier à l'intérieur de votre
~/.ssh
dossier nomméconfig
, vous pouvez utiliser une commande comme suitEnsuite, le contenu du fichier doit avoir l'emplacement de votre clé de fonction sur chaque nom d'hôte. par exemple:
Donc, quand git tente d'accéder à chaque hôte, il suivra les règles à l'intérieur de ce fichier de configuration basé sur le git de l'hôte de votre tentative d'atteindre
J'aurais dit mettre le nom du fichier à
~/.ssh/config
, mais vous n'aurions probablement pas accès à ce fichier.Vous pouvez donner
ssh
la clé privée à utiliser avec le-i keyfile
option.Maintenant comment dire git quelles sont les options à passer par ssh?
La GitTips page dit de créer un script de lancement et de point avec le
GIT_SSH
variable d'environnement.Il semble que vous pouvez également utiliser la configuration git
core.gitProxy
, mais je n'ai pas trouvé un bon exemple et certains liste d'envoi de message suggère, c'est uniquement pour legit:
protocole.Utiliser ssh-agent
Pour un projet que je suis en train de travailler sur mon application doit cracher un script shell avec toutes les commandes git à init/commit/push à un référentiel externe. Le ~/.ssh/config est hors limite, donc, j'ai mes clés publique/privée dans mon répertoire app. J'ai utilisé vhallac de réponse. C'est ce que j'avais à faire dans mon script shell à utiliser ma clé:
espère que cela aide quelqu'un