Windows XPでPuTTYを使用しており、.ppkファイルを使用してLinuxサーバー(複数のサーバー)に接続しました。
サーバーには、次のフォルダーとファイルがあります〜/ .ssh/authorized_keys
ここで、Macを使用してターミナル経由で接続したいと思います。サーバーへのリモート接続を手動で設定しましたが、ppkファイルまたはその中の秘密/公開キーを使用して設定する方法を知りたいです。
注:既にWindowsから秘密/公開キーログインを使用しているため、keygenを使用して新しいキーを作成する必要はありません。キーが既にあるため、セットアップ方法を知りたいだけです。 (言い換えれば、私はすでにサーバー上に認証済みキーのリストと、公開キーと秘密キーを持っています)。
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
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
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