web-dev-qa-db-fra.com

Comment configurer l'authentification basée sur la clé SSH pour GitHub en utilisant le fichier ~ / .ssh / config?

J'essaie de configurer mes clés SSH pour GitHub et de créer une nouvelle clé SSH pour les mêmes. J'ai réussi à configurer la clé SSH mais je souhaite conserver ces paramètres et les enregistrer dans le fichier de configuration ~/.ssh/config qui n'est pas disponible. Où puis-je ajouter ce chemin de clé pour conserver la configuration?

2
Sushant Kumar

Voici un bref manuel expliquant comment configurer l'authentification par clé SSH pour GitHub.

1. Installez le openssh-client s'il n'est pas déjà installé et, bien sûr, git:

Sudo apt update && Sudo apt install -y openssh-client git

2. Créez le répertoire ssh de l'utilisateur et un sous-répertoire où sera stockée votre clé ssh GitHub dédiée:

mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github

3. Générez la clé SSH (la clé de sortie aura des autorisations octales 600):

ssh-keygen -t rsa -b 4096 -C '[email protected]' -f ~/.ssh/github/id_rsa -q -N ''
  • -q - silence ssh-keygen; -N '' - mot de passe vide (sans), vous pouvez en attribuer un si vous le souhaitez.

4. Copiez le contenu du fichier id_rsa.pub, utilisez la commande suivante pour l’extraire:

cat ~/.ssh/github/id_rsa.pub

5. Allez sur votre compte GitHub. Dans le menu déroulant situé dans le coin supérieur droit, sélectionnez votre profil . Cliquez sur le bouton Editer le profil , puis sélectionnez les clés SSH et GPG . Cliquez sur le bouton Nouvelle clé SSH . Tapez quelques mots pour un Titre et collez le contenu de ~/.ssh/github/id_rsa.pub dans le champ Clé . Cliquez ensuite sur le bouton Ajouter une clé SSH .

enter image description here

6. Créez le fichier ~/.ssh/config, s'il n'existe pas déjà:

touch ~/.ssh/config
chmod 600 ~/.ssh/config

Editez le fichier config et ajoutez l'entrée suivante pour la nouvelle clé SSH:

Host github.com
    IdentityFile ~/.ssh/github/id_rsa

7. Testez la configuration. Utilisez la commande suivante:

ssh -T [email protected]

Sur la question - Êtes-vous sûr de vouloir continuer à vous connecter (oui/non)? - répondez avec oui . Si tout se passe bien, vous devriez recevoir un message de bienvenue comme ceci:

Hi pa4080! You've successfully authenticated, ...

Comment utiliser la clé SSH.

1. Si vous avez déjà cloné un référentiel via HTTPS, utilisez une commande comme celle-ci:

git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name

Accédez au répertoire du référentiel et exécutez la commande suivante pour permettre le travail via SSH:

git remote set-url Origin [email protected]:username/repository-name.git

2. Cloner directement un référentiel via SSH:

git clone [email protected]:username/repository-name.git

3. De plus, si vous utilisez VSC cela fonctionnera sans problème avec cette configuration. Pour les référentiels déjà clonés, utilisez simplement l'option Ouvrir le dossier et toutes les fonctionnalités de VSC Git fonctionneront.

3
pa4080

ce fichier n'est pas disponible par défaut. Vous devez le créer. Veuillez noter que les clés SSH et ~/.ssh/config sont des fichiers séparés (ayant un but différent).

vos clés SSH sont stockées dans ~/.ssh (utilisez ls -al ~/.ssh pour les voir toutes) et votre configuration SSH est stockée dans ~/.ssh/config. Si vous ne l'avez pas, n'hésitez pas à utiliser touch ~/.ssh/config pour le créer.

Si vous souhaitez utiliser votre clé avec github/bitbucket/gitlab, utilisez les éléments suivants:

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa 

dans le cas ci-dessus, id_rsa est votre fichier de clé SSH privée, remplacez-le simplement par votre nom de fichier de clé privée

1
janmyszkier