PuTTYgen を使用してキー ペアを生成し、Pageant を使用してログインしているため、システムの起動時にパスフレーズを 1 回入力するだけで済みます。
Linuxでこれを達成するにはどうすればよいですか? 聞いkeychain
たことがありますが、別のキー ペア形式を使用していると聞きました。Windows キーを変更したくありません。Windows と Linux の両方で同じ方法でシームレスに接続できればいいのですが。
puttygen
は、秘密鍵を OpenSSH 互換形式にエクスポートすることをサポートしています。その後、OpenSSH ツールを使用して公開鍵を再作成できます。
Conversions->Export OpenSSH
秘密鍵に移動してエクスポートします~/.ssh/id_dsa
(またはid_rsa
) にコピーします。以下を使用して、RFC 4716 バージョンの公開鍵を作成します。ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
公開鍵の RFC 4716 バージョンを OpenSSH 形式に変換します。
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
PuTTY スタイル形式のユーザーからの公開鍵しかない場合は、次のように標準の openssh 形式に変換できます。
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
忘れがちなのでここに書いておきます。オタクでない人は、ただ歩き続けてください。
Windows でキーを作成する最も一般的な方法は、Putty/Puttygen を使用することです。Puttygen は、Linux 秘密鍵を Putty 形式に変換するための優れたユーティリティを提供します。ただし、対処されていないのは、puttygen を使用して公開鍵を保存すると、Linux サーバーでは機能しないということです。Windows は、一部のデータを別の領域に配置し、改行を追加します。
解決策: puttygen でキー ペアを作成する際に公開キー画面が表示されたら、公開キーをコピーして、拡張子が .pub のテキスト ファイルに貼り付けます。このような投稿を読むことで、システム管理者のフラストレーションの時間を節約できます。
ただし、システム管理者の皆様は、キーが見つからない、パスワードを試行している場合を除いて、認証ログにエラー メッセージをスローしない不安定なキー ファイルを常に取得します。他の全員のキーは正常に機能しているにもかかわらず、このキーをユーザーに 15 回送り返しました。
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
既存の puttygen 公開鍵を OpenSSH 形式に変換する必要があります。
次の図に示すように、新しいバージョンのPuTTYgen (私の場合は 0.64) では、Linux システムに貼り付けられる OpenSSH 公開鍵を.ssh/authorized_keys
ファイルに表示できます。
puttygen
あるいは、 *nix システムで使用できる PuTTY 形式の鍵ファイルから秘密鍵と公開鍵を取得したい場合。ほとんどの apt ベースのシステムでは、パッケージputtygen
の一部です。putty-tools
PuTTY 形式のキーファイルから秘密鍵を出力する:
$ puttygen keyfile.pem -O private-openssh -o avdev.pvk
公開鍵の場合:
$ puttygen keyfile.pem -L
sudo apt-get install putty
これにより、puttygen ツールが自動的にインストールされます。
PPK ファイルを SSH コマンドで使用できるように変換するには、ターミナルで次のコマンドを実行します。
puttygen mykey.ppk -O private-openssh -o my-openssh-key
次に、SSH 経由で次のように接続できます。
ssh -v user@example.com -i my-openssh-key
http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603
おそらく、Linux でキーを作成し、PuTTYgen を使用してキーを PuTTY 形式に変換する方が簡単です。
TCSgrad が (数年前に) 尋ねようとしていたのは、Linux を彼の Windows マシンのように動作させる方法だったと思います。つまり、パスフレーズを一度入力するだけでよいように、秘密鍵の復号化されたコピーを保持するエージェント (ページェント) があります。次に、ssh クライアントの putty は、自分の公開鍵が「承認済み」としてリストされているマシンに、パスワード プロンプトなしでログインできます。
これに似ているのは、ssh クライアントとして機能するLinux には、復号化された秘密鍵を保持するエージェントがあるため、TCSgrad が「ssh host」と入力すると、ssh コマンドは秘密鍵を取得し、パスワードの入力を求められることなく実行されます。もちろん、ホストは公開鍵を ~/.ssh/authorized_keys に保持している必要があります。
このシナリオに対する Linux の類似性は、ssh-agent (ページェントの類似物) と ssh-add (ページェントへの秘密鍵の追加の類似物) を使用して達成されます。
$ ssh-agent $SHELL この $SHELL は、エージェントを実行し、実行し続けるために必要な手品でした。ネットのどこかでそれを見つけて、数時間頭を壁にぶつけて終わりました。
これで、キーがロードされていないエージェントである pageant の類似物が実行されます。
$ ssh-add を単独で入力すると、(デフォルトで) ~/.ssh のデフォルト ID ファイルにリストされている秘密鍵が追加されます。
詳細については、こちらの Web 記事を参照してください。