Beim Versuch, SSH-Schlüssel einzurichten, sind die Anweisungen jedoch nicht klar

383
DiesLaughing

Jedes SSH-Tutorial oder jede Erklärung, die ich finde, scheint in der Mitte zu vergessen, dass zwei Computer oder Server beteiligt sind.

Ich versuche, eine Website zu erstellen, die auf einem Remote-Server gehostet wird. Ich habe Schlüssel generiert, damit ich auf die Website zugreifen kann. Jetzt muss ich von meinem Computer auf die Website zugreifen.

Ich habe also diese Schlüssel und kann nicht herausfinden, was ich mit ihnen machen soll, damit sie funktionieren. Jedes Tutorial oder jede Erklärung besagt, dass ich Schlüssel für mein Computersystem generieren und sie in einer Datei aufbewahren muss, die nicht vorhanden ist. Das macht nicht nur keinen Sinn, sondern hat offenbar auch nichts mit dem Zugriff auf den Remote-Server von meinem Computer mit den Schlüsseln der Website zu tun, die bereits für diesen Zweck erstellt wurden. Offensichtlich geht etwas Information verloren. Kann jemand bitte erklären, was ich tun soll?

Es scheint, als sollte es einfach sein, aber WO stelle ich welchen Schlüssel ein und wie starte ich die Verbindung? Ich verwende seit Jahren Terminal unter Linux. Sie würden denken, ich würde das im Schlaf wissen, aber ich weiß es nicht.

1

3 Antworten auf die Frage

1
dirkt

Sie erzeugen immer ein Paar von Schlüsseln: Ein privater Schlüssel, der geheim, und halten sollten öffentliche Schlüssel, die andere Menschen sehen dürfen.

Bei Schlüsseln, mit denen Sie remote auf eine Website zugreifen können, identifizieren diese Schlüssel Sie (sie beweisen Ihre Identität). Dies bedeutet, dass der private Schlüssel auf Ihrem Computer bleiben sollte, während sich der öffentliche Schlüssel auf dem Remote- Computer befinden sollte.

Konkret werden Sie also ein id_rsa(privates) und ein id_rsa.pub(öffentliches) generieren . Schlüssel. Behalten Sie einfach beide im .sshVerzeichnis in Ihrem Home-Verzeichnis auf Ihrem Computer (normalerweise würden Sie sie nach dem cd-ing in diesem Verzeichnis erstellen). Der id_rsaSchlüssel wird automatisch sshals Ihre Identität verwendet, der id_rsa.pubSchlüssel wird jedoch ignoriert. Sie wissen jedoch, wo er sich befindet, wenn Sie ihn benötigen.

Auf der Remote-Seite befindet sich im .sshVerzeichnis des Kontos, in das Sie sich einloggen möchten, eine authorized_keysDatei, die eine Liste öffentlicher Schlüssel enthält (einen pro Zeile). Diese Datei wird von gelesen, um sshdherauszufinden, wer sich mit diesem Konto verbinden darf.

Bearbeiten Sie entweder diese Datei und fügen Sie den Inhalt Ihres Local id_rsa.pubin einer neuen Zeile hinzu. Wenn die Datei nicht vorhanden war oder nur einen Schlüssel enthalten sollte, kopieren Sie einfach Ihren Local id_rsa.pubin authorized_keys.

Das ist es. Natürlich können Sie Skripts verwenden, die diesen Prozess automatisieren, aber darauf kommt es an.

Ja, ich habe das mit einer GUI auf der Website-Konfigurationsseite gemacht. Ich habe die öffentlichen und privaten Schlüssel erhalten. Ich weiß nur nicht, wie ich sie verwenden soll, da alle Anweisungen, die ich gefunden habe, über den Zugriff auf meinen eigenen Computer von Schlüsseln sprechen, die auf meinem Owm-Computer generiert werden. DiesLaughing vor 5 Jahren 0
In der Antwort wird erläutert, wie Sie mit einem Schlüsselpaar auf einen anderen Computer zugreifen, unabhängig davon, wie Sie diese Schlüssel generiert haben: Wenn Sie RSA-Schlüssel verwenden, geben Sie den privaten Schlüssel in "id_rsa" auf Ihrem Computer und den öffentlichen Schlüssel in die Datei "authorized_keys" ein auf dem anderen Computer. Sie haben in der Frage keine Website erwähnt, und ich würde nicht empfehlen, eine zufällige Website zu verwenden, um Ihre Schlüssel zu generieren (da der Besitzer der Website Ihren privaten Schlüssel kennt). Wenn diese Website von dem Besitzer des Remote-Computers bereitgestellt wird, kann der öffentliche Schlüssel automatisch in "authorized_hosts" gespeichert werden. dirkt vor 5 Jahren 0
Wenn die Frage von dieser Website abhängt, fügen Sie der Frage bitte Details hinzu. dirkt vor 5 Jahren 0
Ich fühle mich so dumm. Ich hatte es richtig, als ich es zum ersten Mal ausprobierte. Dann habe ich mich selbst gedacht und wie ich die Manpages verstanden hatte, als es nicht funktionierte. Ich hatte vergessen, dass meine Website immer noch auf Shared Hosting stand. Ich musste auf einen dedizierten Server umziehen und es funktioniert aus jeder Richtung gut. DiesLaughing vor 5 Jahren 0
0
wallacesilva09

Standardmäßig werden Ihre SSH-Schlüssel im Ordner gespeichert /home/[youruser]/.ssh/. Zur Verwendung der SSH-Verbindung können Sie folgende Methoden verwenden:

ssh [username]@[server] -i ~/.ssh/id_rsa -p [port-number-of-ssh]

Anwendungsbeispiel: ssh dies@dies.com -i ~/.ssh/id_rsa -p 22

oder Sie können den Schlüssel ignorieren und das Kennwort der Verbindung eingeben, indem Sie Parameter verwenden, um die Schlüsselüberprüfung zu ignorieren. Siehe Beispiel:

ssh dies@dies.com -o PubkeyAuthentication=no -p 22

Viel Glück für dich!

Vielen Dank. Home / user / .ssh war ein großer Teil dessen, was ich suchte. DiesLaughing vor 5 Jahren 0
0
Lewis M

Annahme, Benutzername auf sowohl ServerA als auch ServerB. Sie möchten sich von ServerA bei ServerB anmelden.

Falls Sie dies noch nicht getan haben, generieren Sie auf ServerA das SSH-Schlüsselpaar:

ssh-keygen -t rsa -N '' 

Führen Sie auf serverA den folgenden Befehl aus, und richten Sie die Berechtigungen so ein, dass Sie beim Umschalten von ServerA auf ServerB nicht zur Eingabe eines Kennworts aufgefordert werden:

ssh-copy-id serverB 

Sie werden aufgefordert, ein Kennwort einzugeben.

Wenn der Befehl ssh-copy-id erfolgreich war, können Sie ssh von ServerA zu ServerB überprüfen, ohne dass Sie zur Eingabe eines Kennworts aufgefordert werden.

ssh serverB 

Wenn Sie in serverB einsteigen, sind Sie fertig.

Hoffe das hilft

Die Schlüssel wurden im Website-Admin-Panel über eine grafische Oberfläche generiert. Dann sagte es, den privaten Schlüssel auf meinem Computer zu speichern. Überall habe ich nach weiteren Informationen gesucht, um die Schlüssel auf meinem Computer zu generieren, aber ich konnte nicht herausfinden, wie der Webserver sie erkennen würde. Vielleicht war das für mich so verwirrend, weil ich nur begrenzt Zugriff auf eine gehostete Website habe (ich bin nicht der Server-Administrator). Ich hätte nur vollen Administratorzugriff auf die Datenbank, die ich für die Website auf diesem Server installiert habe. DiesLaughing vor 5 Jahren 0
Ich wollte nur klarstellen, dass dies das Szenario vereinfacht, das ich im Internet immer wieder sehe, und es ist viel einfacher als die Erwartung des Webhosts, da ich ein praktisches Terminal habe und weiß, wo sich meine Dateien befinden, aber bis ich SSH-Zugriff habe Auf dem Remote-Server habe ich auf dieser Seite nicht die volle Kontrolle. Sehr hilfreich. Vielen Dank. DiesLaughing vor 5 Jahren 0
Leider wird die Erlaubnis abgelehnt. DiesLaughing vor 5 Jahren 0