Utilisez le fichier PPK dans le terminal Mac pour vous connecter à une connexion à distance via SSH [fermé]

140

J'utilise Putty sous Windows XP et utilise le fichier .ppk pour me connecter à mes serveurs Linux (plusieurs serveurs).

Sur les serveurs, j'ai le dossier et le fichier suivants ~ / .ssh / allowed_keys

Je souhaite maintenant utiliser un Mac pour me connecter via le terminal. J'ai configuré les connexions à distance aux serveurs manuellement et je veux savoir comment je peux configurer en utilisant le fichier ppk ou la clé privée / publique qu'il contient.

Remarque: j'utilise déjà la connexion par clé privée / publique de Windows, donc je n'ai pas besoin de créer une nouvelle clé à l'aide de keygen, je veux juste savoir comment configurer maintenant que j'ai déjà les clés. (En d'autres termes, j'ai déjà les listes de clés autorisées sur le serveur et les clés publique et privée)

Anand
la source

Réponses:

374

Vous pouvez sshdirectement depuis le terminal sur Mac, mais vous devez utiliser une .PEMclé plutôt que la putty .PPKclé. Vous pouvez utiliser PuttyGen sur Windows pour convertir de .PEMen .PPK, je ne suis pas sûr de l'inverse.

Vous pouvez également convertir la clé en utilisant puttypour Mac via portou brew:

sudo port install putty

ou

brew install putty

Cela installera également puttygen. Pour obtenir la puttygensortie d'un .PEMfichier:

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

Une fois que vous avez la clé, ouvrez une fenêtre de terminal et:

ssh -i privatekey.pem [email protected]

La clé privée doit avoir des paramètres de sécurité stricts, sinon SSH se plaint. Assurez-vous que seul l'utilisateur peut lire la clé.

chmod go-rw privatekey.pem
Purpletoucan
la source
1
port sudo ?? cela n'existe sûrement pas ... du moins dans Mavericks
Pedro Luz
23
Vous pouvez également installer le mastic en utilisant brew : brew install putty. Notez que nous n'utilisons pas sudoici;)
GabLeRoux
2
Réponse utile !! Merci pour ça!! Pour ceux qui n'ont pas de port installé, peuvent suivre le lien suivant pour installer git: codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj
3
Que signifie cette erreur lorsque j'essaye d'exécuter la commande puttygen? Entrez la phrase de passe pour charger la clé: Échec de l'assertion: (random_active), fonction random_byte, file ./../sshrand.c, ligne 313. Interruption d'interruption: 6
fastasleep
6
Vous devez installer la formule d'infusion de HEAD, veuillez donc d' brew uninstallabord l'utiliser brew install putty --HEAD. Cela a fonctionné pour moi.
Dokie
31

Convertir PPK en OpenSSh

OS X: installez Homebrew, puis exécutez

brasser installer du mastic

Placez vos clés dans un répertoire, par exemple votre dossier personnel. Maintenant, convertissez les clés PPK en paires de clés SSH: recherche dans le cache

Pour générer la clé privée:

cd ~

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

et pour générer la clé publique:

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

Déplacez ces clés vers ~ / .ssh et assurez-vous que les autorisations sont définies comme privées pour votre clé privée:

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

se connecter avec le serveur ssh

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

Redirection de port pour connecter le serveur distant mysql

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName
rinkesh
la source
19

Il existe un moyen de le faire sans installer de mastic sur votre Mac. Vous pouvez facilement convertir votre fichier PPK existant en fichier PEM à l'aide de PuTTYgen sous Windows.

Lancez PuTTYgen, puis chargez le fichier de clé privée existant à l'aide du bouton Charger. Dans le menu "Conversions", sélectionnez "Exporter la clé OpenSSH" et enregistrez le fichier de clé privée avec l'extension de fichier .pem.

Copiez le fichier PEM sur votre Mac et définissez-le pour qu'il soit en lecture seule par votre utilisateur:

chmod 400 <private-key-filename>.pem

Ensuite, vous devriez pouvoir utiliser ssh pour vous connecter à votre serveur distant

ssh -i <private-key-filename>.pem username@hostname
dasfrosty
la source
9
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.Donc, la meilleure façon de le faire sur mac est de le faire sous Windows?!
Roee Gavirel
6
En fait @sigi, ma réponse était vraiment destinée à être utile. Le principal objectif de la question telle que je la comprends est de se connecter d'un Mac à un serveur Linux en utilisant un fichier .ppk existant à partir d'une machine Windows. Étant donné que le demandeur a accès à une machine Windows, convertir le fichier .ppk en fichier .pem avant de le copier sur le Mac est une solution tout aussi valable que de le copier d'abord sur le Mac et de le convertir là-bas. J'ai suggéré cette approche car certaines personnes peuvent préférer ne pas installer de logiciels supplémentaires sur leur Mac dont ils n'auraient pas besoin autrement.
dasfrosty
3
Cette réponse est très utile, pour exactement la raison défendue: une personne venant de Windows vers Mac avec un fichier ppk existant est plus susceptible de vouloir exporter depuis Windows plutôt que d'installer PuTTY sur le Mac sans but particulier. C'est exactement ce que j'ai choisi de faire.
trevorsky