[LINUX] Melden Sie sich mit SSH bei einem Remote-Server an

Gibt aus, was IT-unerfahrene Schüler gelernt haben: neutral_face: Dies ist mein erster Beitrag. Vielen Dank.

Was ist SSH?

Ein Protokoll, das mithilfe von Verschlüsselungs- und Authentifizierungstechnologie sicher mit einem Remotecomputer kommuniziert, wenn Sie auf einem Remoteserver (Remoteserver) arbeiten möchten.

Vorteile von SSH

・ Sie können sicher arbeiten und gleichzeitig das Risiko eines Abhörens der Kommunikation vermeiden. ・ Sie können Dateien bedienen und Einstellungsdateien auf dem Server bearbeiten.

Melden Sie sich mit SSH an

Sie können sich auf zwei Arten anmelden: Kennwortauthentifizierung und Authentifizierung mit öffentlichem Schlüssel

Um SSH verwenden zu können, muss die Software SSH-Server remote und der SSH-Client lokal installiert werden. Es wird jedoch standardmäßig auf Linux-Servern und Mac OS installiert, sodass es nicht installiert werden muss.

$ ssh [Login Benutzername]@[IP Adresse]

Wenn Sie sich zum ersten Mal anmelden, werden Sie gefragt, ob Sie wirklich eine Verbindung herstellen möchten. Geben Sie also Ja ein Als nächstes werden Sie aufgefordert, das Passwort einzugeben, damit Sie sich durch Eingabe des Passworts anmelden können

Wenn Sie sich zum ersten Mal mit ssh bei einem Linux-Computer (192.168.2.67) anmelden
 macmini: ~ user1 $ ssh [email protected]
The authenticity of host '192.168.2.67(192.168.2.67)' can't be established.
RSA key fingerprint is c3 : e3 : 8d :5e ea :58 : 0e :a9 :  e5 : 03 : 34 : 56 : b3 : ca : a3 : 60.
Are you sure you want to continue connecting (yes, no)?ja ← ja eingeben
Warning : Permanently added '192.168.2.67'(RSA) to the list of known hosts.
[email protected]'s passward:← Passwort eingeben
Last login: Sat Aug 23 18:34:30 2014 from 192.168.2.67 
[hinako@localhost ~]$

Privater Schlüssel und öffentlicher Schlüssel

Es ist nicht gut für die Sicherheit, dass eine nicht angegebene Anzahl von Personen den Server betreten kann Beschränken Sie, wer zwei Dateien, *** privater Schlüssel *** und *** öffentlicher Schlüssel ***, auf dem Server erstellen kann Der öffentliche Schlüssel wird mit Ihnen gesendet, wenn Sie SSH an den Server starten. Speichern Sie den privaten Schlüssel in Ihrer lokalen Umgebung. Der Code wird vom öffentlichen Schlüssel generiert, und in der lokalen Umgebung wird der vom Server gesendete Code vom privaten Schlüssel entschlüsselt. Auf diese Weise ist der Informationsaustausch zwischen dem Server und der lokalen Umgebung sicher.

Melden Sie sich mit dem öffentlichen Schlüssel an

Verfahren

  1. Generieren Sie öffentliche und private Schlüssel (lokale Umgebung)
  2. Installieren Sie den öffentlichen Schlüssel auf der Serverseite (lokale Umgebung → Server).
  3. Überprüfen Sie, ob Sie sich mit der Authentifizierung mit öffentlichem Schlüssel anmelden können
1. Generieren Sie öffentliche und private Schlüssel
~ $ cd .ssh # .Wechseln Sie in das Verzeichnis ssh
.ssh $ ssh-keygen -t rsa  #Erstellen Sie öffentliche und private Schlüssel

Nach der Eingabe wird Folgendes angezeigt. Geben Sie den Speicherort für den privaten Schlüssel und das Kennwort ein, das für den privaten Schlüssel festgelegt werden soll.

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): [Wo soll der private Schlüssel abgelegt werden?] 
Enter passphrase (empty for no passphrase): [Passwort]
Enter same passphrase again: [Passwort]

Der öffentliche Schlüssel ist in *** ~ / .ssh / id_rsa.pub *** und der private Schlüssel in *** ~ / .ssh / id_rsa *** gespeichert Geben Sie den folgenden Befehl ein. Wenn das Ausgabeergebnis die folgenden zwei enthält, ist die Erstellung erfolgreich.

$ ls
=> [Schlüsselname]_key_rsa [Schlüsselname]_key_rsa.pub

Verwenden Sie den Befehl cat, um den Inhalt des öffentlichen Schlüssels zu überprüfen, um festzustellen, ob der öffentliche und der private Schlüssel erstellt wurden.

#Überprüfen Sie den Inhalt des öffentlichen Schlüssels
$ cat [Öffentlicher Schlüssel]_key_rsa.pub

#Überprüfen Sie den Inhalt des privaten Schlüssels
$ cat [Privat Schlüssel]_key_rsa

Wenn ich den Befehl ausführe, wird auf dem Terminal eine komplexe Zeichenfolge angezeigt. Dies ist der Inhalt des zuvor erstellten öffentlichen und privaten Schlüssels.

2. Installieren Sie den öffentlichen Schlüssel auf der Serverseite

-Kopieren Sie die öffentliche Schlüsseldatei der lokalen Umgebung auf den Remote-Server

Verwenden Sie den Befehl scp, um den öffentlichen Schlüssel remote auf den Server zu kopieren *** scp-Befehl *** Ein Befehl, mit dem Sie das Zielverzeichnis angeben und eine Datei senden können

$ scp ~/.ssh/id_rsa.pub [Nutzername]@ [IP Adresse]:~/.ssh
$ ssh -i [Der Name des heruntergeladenen Schlüssels].pem ec2-user@[Elastische IP, die der erstellten EC2-Instanz zugeordnet ist]

Bisher wurde in der lokalen Umgebung der öffentliche Schlüssel in id_rsa.pub gespeichert, auf dem Remote-Server wird der öffentliche Schlüssel jedoch in ~ / .ssh / authorized_keys gespeichert.

#Melden Sie sich beim Remote-Server an
$ ssh [Nutzername]@ [IP Adresse]

# .Wechseln Sie in das Verzeichnis ssh
$ cd ~/.ssh  

#Öffentliche Schlüsseldatei des Remoteservers (~/.ssh/authorized_Schlüssel erstellen)
touch .ssh/authorized_keys

#Fügen Sie den Inhalt des öffentlichen Schlüssels hinzu
$ cat ~/id_rsa.pub >> authorized_keys

Legen Sie abschließend die Berechtigungen für das Verzeichnis .ssh und die Datei autorisierte Schlüssel fest. Legen Sie alle Lese- / Schreib- / Ausführungsberechtigungen im Verzeichnis .ssh und Lese- / Schreibberechtigungen in der Datei authorized_keys fest.

# .SSH-Verzeichnis und autorisiert_Legen Sie die Berechtigungen für die Schlüsseldatei fest
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
3. Überprüfen Sie, ob Sie sich mit der Authentifizierung mit öffentlichem Schlüssel anmelden können
#Melden Sie sich beim Remote-Server an
$ ssh [Nutzername]@ [IP Adresse]

Nach Eingabe des Befehls wird die folgende Anzeige angezeigt. (1) Geben Sie das unter # Geben Sie das Passwort ein, um den öffentlichen Schlüssel und den privaten Schlüssel auf den generierten # privaten Schlüssel festzulegen. Wenn danach [Benutzername] @ [IP-Adresse]% angezeigt wird, ist die Anmeldung erfolgreich: v:

Enter passphrase for key '~/.ssh/id_rsa':← Passwort eingeben
[Nutzername]@ [IP Adresse]%← Erfolgreiche Anmeldung am SSH-Server

Recommended Posts

Melden Sie sich mit SSH bei einem Remote-Server an
Bildschirm und geteilter Bildschirm mit Python- und SSH-Anmeldung am Remote-Server
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Melden Sie sich mit ssh ohne Passwort bei Raspberry PI an (Schlüsselauthentifizierung)
Melden Sie sich mit Selenium Python bei Yahoo Business an
Melden Sie sich einfach mit mehreren Konten bei AWS an
Loggen Sie sich mit json mit pygogo ein.
SSH-Anmeldung am Zielserver von Windows mit einem Klick auf eine Verknüpfung
Senden Sie Protokolldaten vom Server an Splunk Cloud
Konvertieren Sie das Bild in .zip mit Python in PDF
[Einfache Vorgehensweise] Um sich ohne Passwort bei ssh anzumelden
SSH in eine virtuelle Umgebung mit vscode Remote Development
Beschreiben Sie das mehrstufige SSH-Ziel in der Konfiguration, melden Sie sich einfach an und kopieren Sie die Datei mit scp
Melden Sie sich von Selenium aus beim Fortigate (6.0) -Verwaltungsbildschirm an, um sich abzumelden
[Postgresql] SSH-Verbindung zum externen DB-Server vom Client
So manipulieren Sie das DOM im Iframe mit Selen
So melden Sie sich automatisch wie 1Password von der CLI an
[Shell] So erhalten Sie den Remote-Standardzweig mit Git
So melden Sie sich mit Python bei AtCoder an und senden automatisch
Ich habe versucht, das Zugriffsprotokoll mit Node.js auf dem Server auszugeben
Es war großartig, die Python-Datei in Raspberry Pi mit der Remote-Funktion von Atom zu bearbeiten
Programmieren, um in der Welt zu kämpfen ~ 5-1
Programmierung, um in der Welt zu kämpfen ~ 5-5,5-6
Programmieren, um in der Welt zu kämpfen 5-3
Programmierung für den Kampf in der Welt - Kapitel 4
Im Python-Befehl zeigt Python auf Python3.8
Probieren Sie Cython in kürzester Zeit aus
So melden Sie sich bei Docker + NGINX an
Programmieren, um in der Welt zu kämpfen ~ 5-2
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Erfassen Sie das Betriebsprotokoll automatisch im Terminal, wenn Sie sich bei Linux anmelden
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
Die Synchronisierung mit dem Server, der ssh auf localhost portiert hat, schlägt fehl. [Gelöst]
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Ich habe versucht, mich automatisch mit Selen bei Twitter anzumelden (RPA, Scraping)
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe versucht, eine Umgebung zu erstellen, in der die Arbeit im Docker-Container auf dem Remote-Server direkt über den lokalen VS-Code mit SSH-Verbindung ausgeführt werden kann
Betreiben Sie Paints Chainer mit Selen, um Bilder im Verzeichnis automatisch einzufärben
Greifen Sie mit Requests auf die Docker Remote API zu
Laden Sie das Remote-Python-SDK mit IntelliJ
Versuchen Sie, sich mit Python bei qiita anzumelden
Starten Sie den Webserver im aktuellen Verzeichnis
Verhalten bei der Rückkehr in den with-Block
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Stellen Sie mit Ihrem Smartphone eine Verbindung zum VPN her und schalten Sie den Server aus / ein
So stellen Sie die Serverzeit auf japanische Zeit ein
Python-Protokoll mit GAE an die Konsole ausgeben
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Zeigen Sie Python 3 im Browser mit MAMP an
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
Bearbeiten Sie die Datei des SSH-Verbindungszielservers auf dem Server mit VS-Code
Fügen Sie in Jupyter IPerl zum Kernel hinzu.
Stellen Sie über einen Remotedesktop eine Verbindung zu GNU / Linux her
Was tun, wenn der Server nicht mit dem Runserver python manage.py startet?
Verschiedene Kommentare im Programm zu schreiben
So betreiben Sie die Zeitstempelstation in Python
Richten Sie die Farbleiste mit matplotlib an der Figur aus