MacターミナルでPPKファイルを使用して、SSH経由でリモート接続に接続する[終了]


140

私はWindows XPでPuttyを使用しており、.ppkファイルを使用してLinuxサーバー(複数のサーバー)に接続しています。

サーバーには、次のフォルダーとファイル〜/ .ssh / authorized_keysがあります

Macを使用してターミナル経由で接続したいと思います。サーバーへのリモート接続を手動でセットアップし、ppkファイルまたはその中の秘密/公開キーを使用してセットアップする方法を知りたいです。

注意:私はすでにWindowsから秘密/公開鍵ログインを使用しているので、keygenを使用して新しい鍵を作成する必要はありません。すでに鍵を持っているので、セットアップ方法を知りたいだけです。(つまり、サーバーに承認済みのキーのリストと、公開キーと秘密キーが既にあります)。

回答:


373

次のことができssh、直接Macのターミナルから、しかし、あなたが使用する必要があります.PEMキーではなくputty .PPKキーを。あなたは、変換するのWindows上でPuTTYgenをを使用することができる.PEM.PPK私は周りにかかわらず、他の方法についてはよく分かりません。

またはを使用puttyしてMac用のキーを変換することもできます。portbrew

sudo port install putty

または

brew install putty

これもインストールされputtygenます。取得するにはputtygen、出力に.PEMファイルを:

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

キーを入手したら、ターミナルウィンドウを開き、次の操作を行います。

ssh -i privatekey.pem user@my.server.com

秘密鍵には厳格なセキュリティ設定が必要です。そうしないと、SSHから問題があります。ユーザーのみがキーを読み取ることができることを確認してください。

chmod go-rw privatekey.pem

1
sudoポート?? それは確かに存在しません...少なくともマーベリックスでは
ペドロ・ルス

23
brewを使用してputtyをインストールすることもできますbrew install putty。ここでは使用していないことに注意してくださいsudo;)
GabLeRoux

2
役に立つ答え!! ありがとうございます!! ポートがインストールされていない人は、次のリンクに従ってgitをインストールできます。codingsteps.com
and

3
puttygenコマンドを実行しようとすると、このエラーはどういう意味ですか?キーをロードするためのパスフレーズを入力してください:アサーション失敗:(random_active)、関数random_byte、ファイル./../sshrand.c、行313。打ち切りトラップ:6
fastasleep

6
HEADから抽出式をインストールする必要があるため、brew uninstall最初にを使用してくださいbrew install putty --HEAD。これでうまくいきました。
Dokie、2014

31

PPKをOpenSShに変換

OS X:Homebrewをインストールして実行

醸造用パテ

キーを、ホームフォルダなどのディレクトリに配置します。次に、PPKキーをSSHキーペアに変換します。キャッシュ検索

秘密鍵を生成するには:

cd〜

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

公開鍵を生成するには:

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

これらのキーを〜/ .sshに移動し、権限がプライベートキーのプライベートに設定されていることを確認します。

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

sshサーバーに接続する

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

mysqlリモートサーバーに接続するためのポート転送

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

19

Macにパテをインストールせずにこれを行う方法があります。WindowsでPuTTYgenを使用すると、既存のPPKファイルをPEMファイルに簡単に変換できます。

PuTTYgenを起動し、[読み込み]ボタンを使用して既存の秘密鍵ファイルを読み込みます。[変換]メニューから[OpenSSHキーのエクスポート]を選択し、秘密キーファイルを.pemファイル拡張子で保存します。

PEMファイルをMacにコピーし、ユーザーが読み取り専用になるように設定します。

chmod 400 <private-key-filename>.pem

次に、sshを使用してリモートサーバーに接続できるはずです。

ssh -i <private-key-filename>.pem username@hostname

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.Macでそれを行う最善の方法は、Windowsでそれを行うことですか?
Roee Gavirel

6
実際、@ sigiの私の回答は、本当に役立つことを意図したものでした。私が理解している質問の主な目的は、Windowsマシンの既存の.ppkファイルを使用してMacからLinuxサーバーに接続することです。質問者にWindowsマシンへのアクセス権がある場合、Macにコピーする前に.ppkファイルを.pemファイルに変換することは、最初にMacにコピーしてそこで変換するのと同じくらい有効な解決策です。一部の人々は彼らがそうでなければ必要としない追加のソフトウェアをMacにインストールしないことを好むかもしれないので、私はこのアプローチを提案しました。
dasfrosty

3
この回答は非常に役立ちます。守られている理由は次のとおりです。既存のppkファイルを使用してWindowsからMacにアクセスするユーザーは、特定の目的でMacにPuTTYをインストールするのではなく、Windowsからエクスポートする可能性が高くなります。これはまさに私が選択したことです。
トレヴォルスキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.