web-dev-qa-db-ja.com

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

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

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

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

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

127
Anand

Macのターミナルからsshを直接使用できますが、PuTTY.PEMキーではなく、.PPKキーを使用する必要があります。 WindowsでPuttyGenを使用して.PEMから.PPKに変換できますが、他の方法についてはわかりません。

MacのPuTTYを使用して、portまたはbrew経由でキーを変換することもできます。

Sudo port install PuTTY

または

brew install PuTTY

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

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

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

ssh -i privatekey.pem [email protected]

秘密鍵には厳しいセキュリティ設定が必要です。そうでない場合、SSHからエラーが発生します。ユーザーのみがキーを読み取れることを確認してください。

chmod go-rw privatekey.pem
325
Purpletoucan

PPKをOpenSShに変換

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

puTTYを作成する

キーを何らかのディレクトリに配置します。ホームフォルダ。 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
27
rinkesh

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

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

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

chmod 400 <private-key-filename>.pem

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

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