Verwenden Sie die PPK-Datei im Mac Terminal, um über SSH eine Verbindung zur Remoteverbindung herzustellen [geschlossen]

140

Ich habe Putty unter Windows XP verwendet und die PPK-Datei verwendet, um eine Verbindung zu meinen Linux-Servern (mehreren Servern) herzustellen.

Auf den Servern habe ich den folgenden Ordner und die Datei ~ / .ssh / authorized_keys

Ich möchte jetzt einen Mac verwenden, um eine Verbindung über das Terminal herzustellen. Ich habe die Remoteverbindungen zu den Servern manuell eingerichtet und möchte wissen, wie ich sie mithilfe der ppk-Datei oder des darin enthaltenen privaten / öffentlichen Schlüssels einrichten kann.

Bitte beachten Sie: Ich verwende bereits die Anmeldung für private / öffentliche Schlüssel unter Windows, sodass ich keinen neuen Schlüssel mit keygen erstellen muss. Ich möchte nur wissen, wie ich sie jetzt einrichten soll, da ich die Schlüssel bereits habe. (Mit anderen Worten, ich habe bereits die autorisierten Schlüssellisten auf dem Server sowie den öffentlichen und privaten Schlüssel).

Anand
quelle

Antworten:

372

Sie können sshdirekt vom Terminal auf dem Mac aus arbeiten, müssen jedoch einen .PEMSchlüssel anstelle des putty .PPKSchlüssels verwenden. Sie können PuTTYgen unter Windows zu konvertieren benutzen .PEMzu .PPK, ich bin nicht sicher über die andere Art und Weise allerdings um.

Sie können den Schlüssel auch puttyfür Mac konvertieren über portoder brew:

sudo port install putty

oder

brew install putty

Dies wird auch installiert puttygen. So puttygengeben Sie eine .PEMDatei aus:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

Sobald Sie den Schlüssel haben, öffnen Sie ein Terminalfenster und:

ssh -i privatekey.pem [email protected]

Der private Schlüssel muss strenge Sicherheitseinstellungen haben, sonst beschwert sich SSH. Stellen Sie sicher, dass nur der Benutzer den Schlüssel lesen kann.

chmod go-rw privatekey.pem
Purpletoucan
quelle
1
Sudo Port? das gibt es sicher nicht ... zumindest in Mavericks
Pedro Luz
23
Sie können Kitt auch mit Gebräu installieren : brew install putty. Beachten Sie, dass wir hier nicht verwenden sudo;)
GabLeRoux
2
Nützliche Antwort !! Dank dafür!! Für diejenigen, die keinen Port installiert haben, können Sie dem folgenden Link folgen, um git zu installieren : odingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj
3
Was bedeutet dieser Fehler, wenn ich versuche, den Befehl puttygen auszuführen? Geben Sie die Passphrase ein, um den Schlüssel zu laden: Bestätigung fehlgeschlagen: (random_active), Funktion random_byte, Datei ./../sshrand.c, Zeile 313.
Abbruchfalle
6
Sie müssen die Brühformel von HEAD installieren, verwenden Sie sie also bitte brew uninstallzuerst brew install putty --HEAD. Das hat bei mir funktioniert.
Dokie
31

Konvertieren Sie PPK in OpenSSh

OS X: Installieren Sie Homebrew und führen Sie es aus

brauen Kitt installieren

Legen Sie Ihre Schlüssel in einem Verzeichnis ab, z. B. in Ihrem Home-Ordner. Konvertieren Sie nun die PPK-Schlüssel in SSH-Schlüsselpaare: Cache-Suche

So generieren Sie den privaten Schlüssel:

cd ~

puttygen id_dsa.ppk -O private-openssh -o id_dsa

und um den öffentlichen Schlüssel zu generieren:

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

Verschieben Sie diese Schlüssel nach ~ / .ssh und stellen Sie sicher, dass die Berechtigungen für Ihren privaten Schlüssel auf privat festgelegt sind:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

verbinde dich mit ssh server

ssh -i ~/.ssh/id_dsa username@servername

Portweiterleitung zum Verbinden des MySQL-Remote-Servers

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName
Rinkesh
quelle
20

Es gibt eine Möglichkeit, dies zu tun, ohne Putty auf Ihrem Mac zu installieren. Mit PuTTYgen unter Windows können Sie Ihre vorhandene PPK-Datei problemlos in eine PEM-Datei konvertieren.

Starten Sie PuTTYgen und laden Sie die vorhandene private Schlüsseldatei über die Schaltfläche Laden. Wählen Sie im Menü "Konvertierungen" die Option "OpenSSH-Schlüssel exportieren" und speichern Sie die private Schlüsseldatei mit der Dateierweiterung .pem.

Kopieren Sie die PEM-Datei auf Ihren Mac und stellen Sie sie so ein, dass sie von Ihrem Benutzer schreibgeschützt ist:

chmod 400 <private-key-filename>.pem

Dann sollten Sie in der Lage sein, mit ssh eine Verbindung zu Ihrem Remote-Server herzustellen

ssh -i <private-key-filename>.pem username@hostname
dasfrosty
quelle
8
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.Der beste Weg, dies auf einem Mac zu tun, ist es, es unter Windows zu tun?!
Roee Gavirel
6
Eigentlich @sigi meine Antwort sollte wirklich hilfreich sein. Das Hauptziel der Frage besteht meines Wissens darin, mithilfe einer vorhandenen PPK-Datei von einem Windows-Computer aus eine Verbindung von einem Mac zu einem Linux-Server herzustellen. Angesichts der Frage, ob der Fragesteller Zugriff auf einen Windows-Computer hat, ist das Konvertieren der PPK-Datei in eine PEM-Datei vor dem Kopieren auf den Mac eine ebenso gültige Lösung wie das erste Kopieren auf den Mac und das Konvertieren dort. Ich habe diesen Ansatz vorgeschlagen, weil einige Leute es möglicherweise vorziehen, keine zusätzliche Software auf ihrem Mac zu installieren, die sie sonst nicht benötigen.
dasfrosty
3
Diese Antwort ist aus genau dem verteidigten Grund sehr hilfreich: Jemand, der mit einer vorhandenen ppk-Datei von Windows auf Mac kommt, möchte eher von Windows exportieren als PuTTY ohne besonderen Zweck auf dem Mac zu installieren. Genau das habe ich mir vorgenommen.
Trevorsky