[LINUX] [GitHub] Bis Sie mit ssh mithilfe von Deploy-Schlüsseln ziehen

Überblick

Vorgehensweise zum Registrieren des öffentlichen Schlüssels in Bereitstellungsschlüssel des Github-Repositorys und Abrufen mit ssh unter AWS EC2 (Amazon Linux 2)

Verfahren

1. Erstellen Sie öffentliche und private Schlüssel

Ssh stellt eine Verbindung zum Server her (mit ec2-user) und erstellt einen öffentlichen und privaten Schlüssel mit dem Benutzer, den Sie "git pull" möchten.

console


//Dieses Mal möchte ich mit einem Benutzer namens tamorieeeen ziehen
$ sudo su - tamorieeeen

// .Erstellen Sie das SSH-Verzeichnis(Wenn nicht)
$ mkdir .ssh
$ ls -la | grep ssh
drwxrwxr-x 2 tamorieeeen tamorieeeen        6 Aug 31 14:38 .ssh

//Ich denke, die Verzeichnisberechtigung ist 775, also ändern Sie sie in 700
$ chmod 700 .ssh/
$ cd .ssh

// id_rsa_Erstellen Sie einen Schlüssel mit dem Namen 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. Registrieren Sie den öffentlichen Schlüssel auf github

Registrieren Sie den zuvor unter Einstellungen> Bereitstellungsschlüssel> Bereitstellungsschlüssel des Repositorys, das Sie registrieren möchten, erstellten öffentlichen Schlüssel. deploy-keys.png

Sie können den öffentlichen Schlüssel mit weniger sehen und kopieren.

console


$ less id_rsa_github.pub
[email protected]

add-deploy-key.png

Geben Sie dem Titel einen beschreibenden Namen, fügen Sie den soeben kopierten öffentlichen Schlüssel in den Schlüssel ein und drücken Sie zum Hinzufügen die Taste "Schlüssel hinzufügen".

3. Setzen Sie ssh_config

Wenn der private Schlüssel einen anderen Dateinamen als "id_rsa" hat, setzen Sie config. (Im Fall von id_rsa sollte es gesetzt sein, da es standardmäßig angezeigt wird ...)

console


$ pwd
/home/tamorieeeen/.ssh

//Einstellungen zur Konfiguration hinzufügen
$ 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

//Ändern Sie die Konfigurationsberechtigungen in 600
$ chmod 600 config

4. Überprüfen Sie die Verbindung

Wenn Folgendes ausgegeben wird, ist die SSH-Verbindung abgeschlossen

console


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

5. Wechseln Sie von der https-Verbindung zur SSH-Verbindung

Wenn Sie eine neue klonen möchten, können Sie sie einfach mit der URL "Mit SSH klonen" auf github klonen. Diesmal handelt es sich jedoch um ein Repository, das bereits mit https geklont wurde. Ändern Sie daher die Verbindungsmethode von https in ssh.

console


//In geklontes Repository verschieben
$ pwd
/home/tamorieeeen/repository

//Überprüfen Sie das aktuelle Remote-Repository
$ git remote -v
origin  https://github.com/tamorieeeen/repository.git (fetch)
origin  https://github.com/tamorieeeen/repository.git (push)

//Ändern Sie die URL des Remote-Repositorys in ssh
$ git remote set-url origin [email protected]:tamorieeeen/repository.git

//Überprüfen Sie, ob es sich geändert hat
$ git remote -v
origin  [email protected]:tamorieeeen/repository.git (fetch)
origin  [email protected]:tamorieeeen/repository.git (push)

//Versuche zu ziehen
$ git pull origin develop
From github.com:tamorieeeen/repository
 * branch            develop    -> FETCH_HEAD
Already up to date.

Ich konnte es sicher ziehen, also bin ich fertig.

Referenz

Recommended Posts

[GitHub] Bis Sie mit ssh mithilfe von Deploy-Schlüsseln ziehen
Bis Sie Jupyter in Docker starten
Bis Python auf Apache läuft
Bis Sie den Rubin mit Renpy schütteln
Bis Sie VPS mit Conoha ausleihen und den öffentlichen Schlüssel mit SSH authentifizieren können
# 1 Bis zur Bereitstellung der Webanwendung von Django (Erstellen einer Instanz mit EC2 unter AWS)
Bis zur SSH-Verbindung mit Fabric (MacOS-> CentOS7)
Beachten Sie, bis Sie Emacs mit WSL verwenden
Stellen Sie die Kolben-App mit mod_wsgi bereit (mithilfe von pipenv).
Bis Sie die iOS-Kommunikation mit mitmproxy bestätigen
Bis Sie opencv mit Python verwenden können
Bis du weißt, was du mit Django mit Jenkins gemacht hast
Bis zur Verwendung von PhantomJS mit Python auf Heroku
Was verwenden Sie beim Testen mit Python?