[LINUX] [GitHub] Jusqu'à ce que vous tiriez avec ssh à l'aide des clés Deploy

Aperçu

Procédure d'enregistrement de la clé publique dans Deploy keys du référentiel github et de l'extraction avec ssh sur AWS EC2 (Amazon Linux 2)

procédure

1. Créez des clés publiques et privées

SSH se connecte au serveur (avec ec2-user) et crée une clé publique et privée avec l'utilisateur que tu veux git pull.

console


//Cette fois, je veux git pull avec un utilisateur nommé tamorieeeen
$ sudo su - tamorieeeen

// .Créer un répertoire ssh(Si non)
$ mkdir .ssh
$ ls -la | grep ssh
drwxrwxr-x 2 tamorieeeen tamorieeeen        6 Aug 31 14:38 .ssh

//Je pense que la permission du répertoire est 775, alors changez-la en 700
$ chmod 700 .ssh/
$ cd .ssh

// id_rsa_Créez une clé avec le nom github
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tamorieeeen/.ssh/id_rsa): id_rsa_github
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_github.
Your public key has been saved in id_rsa_github.pub.

$ ls -l
-rw------- 1 tamorieeeen tamorieeeen 1675 Aug 31 14:42 id_rsa_github
-rw-r--r-- 1 tamorieeeen tamorieeeen  433 Aug 31 14:42 id_rsa_github.pub

2. Enregistrez la clé publique sur github

Enregistrez la clé publique créée précédemment depuis Paramètres> Déployer les clés> Ajouter la clé de déploiement du référentiel que vous souhaitez enregistrer. deploy-keys.png

Vous pouvez voir la clé publique avec less et la copier.

console


$ less id_rsa_github.pub
[email protected]

add-deploy-key.png

Donnez au titre un nom descriptif, collez la clé publique que vous venez de copier dans la clé et appuyez sur «Ajouter une clé» pour terminer.

3. Définissez ssh_config

Si la clé privée a un nom de fichier autre que ʻid_rsa, définissez config. (Dans le cas de ʻid_rsa, il devrait être défini car il va voir par défaut ...)

console


$ pwd
/home/tamorieeeen/.ssh

//Ajouter des paramètres à la configuration
$ vi config
Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_github
  User git

$ ls -l
-rw-rw-r-- 1 tamorieeeen tamorieeeen   81 Aug 31 15:16 config
-rw------- 1 tamorieeeen tamorieeeen 1675 Aug 31 14:42 id_rsa_github
-rw-r--r-- 1 tamorieeeen tamorieeeen  433 Aug 31 14:42 id_rsa_github.pub

//Remplacez les autorisations de configuration par 600
$ chmod 600 config

4. Vérifiez la connexion

Si ce qui suit est sorti, la connexion ssh est terminée

console


$ ssh -T [email protected]
Hi tamorieeeen/repository_name! You've successfully authenticated, but GitHub does not provide shell access.

5. Passer de la connexion https à la connexion ssh

Si vous voulez en cloner un nouveau, vous pouvez simplement le cloner avec l'URL de Clone with SSH sur github, mais cette fois, c'est un référentiel qui a déjà été cloné avec https, alors changez la méthode de connexion de https à ssh.

console


//Déplacer vers le référentiel cloné
$ pwd
/home/tamorieeeen/repository

//Vérifiez le référentiel distant actuel
$ git remote -v
origin  https://github.com/tamorieeeen/repository.git (fetch)
origin  https://github.com/tamorieeeen/repository.git (push)

//Changer l'URL du référentiel distant en ssh
$ git remote set-url origin [email protected]:tamorieeeen/repository.git

//Vérifiez s'il a changé
$ git remote -v
origin  [email protected]:tamorieeeen/repository.git (fetch)
origin  [email protected]:tamorieeeen/repository.git (push)

//Essayez de tirer
$ git pull origin develop
From github.com:tamorieeeen/repository
 * branch            develop    -> FETCH_HEAD
Already up to date.

J'ai pu le tirer en toute sécurité, alors j'ai terminé.

référence

Recommended Posts

[GitHub] Jusqu'à ce que vous tiriez avec ssh à l'aide des clés Deploy
Jusqu'à ce que vous démarriez Jupyter dans Docker
Jusqu'à ce que Python fonctionne sur Apache
Jusqu'à ce que tu secoues le rubis avec renpy
Jusqu'à ce que vous puissiez emprunter VPS avec Conoha et authentifier la clé publique avec SSH
# 1 Jusqu'au déploiement de l'application Web de Django (création d'une instance avec EC2 sur AWS)
Jusqu'à la connexion SSH avec Fabric (MacOS-> CentOS7)
Notez jusqu'à ce que vous utilisiez emacs avec WSL
Déployer l'application flask avec mod_wsgi (à l'aide de pipenv)
Jusqu'à ce que vous confirmiez la communication iOS avec mitmproxy
Jusqu'à ce que vous puissiez utiliser opencv avec python
Jusqu'à ce que vous définissiez ce que vous avez fait avec Django avec Jenkins
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
Qu'utilisez-vous lorsque vous testez avec Python?