私はPuTTYgenを使用してキーペアを生成し、Pageantを使用してログインしているため、システムの起動時にパスフレーズを1回入力するだけで済みます。
Linuxでこれを実現するにはどうすればよいですか?私は聞いたkeychain
が、私はそれが別のキーペアの形式を使用していることを聞く-私は私のWindowsキーを変更したくないと私はシームレスにWindowsとLinuxの両方で同じように接続することができれば、それはいいだろう。
私は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
It is required that your private key files are NOT accessible by others
、私が実行していたようなエラーをcd ~/.ssh
してchmod 700 id_rsa
ユーザーの公開鍵が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形式に変換する必要があります。
Comment:
行からユーザーのコメントをコピーして、スペースで区切って新しいキーと同じ行に貼り付けることもできます。ssh-keygenがデフォルトでこれを行わない理由はわかりません。
decode blob failed: invalid format
あるいは、PuTTY形式の鍵ファイルから秘密鍵と公開鍵を取得したい場合はputtygen
、* nixシステムで使用できます。ほとんどのaptベースのシステムputtygen
はputty-tools
パッケージの一部です。
PuTTY形式のキーファイルから秘密キーを出力する:
$ puttygen keyfile.pem -O private-openssh -o avdev.pvk
公開鍵の場合:
$ puttygen keyfile.pem -L
brew install putty
puttygen inppk -O private-openssh -o outpem
and puttygen inppk -L
(or ssh-keygen -y -f outpem
)
sudo apt-get install putty
これにより、puttygenツールが自動的にインストールされます。
SSHコマンドで使用するPPKファイルを変換するには、ターミナルで次のコマンドを実行します
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のPuttyからLinuxのRemminaに移行していたときに、最近この問題が発生しました。それで.putty
、8年間使用しているので、ディレクトリにPuttyのPPKファイルがたくさんあります。このために、for
すべてのファイルを実行するbashシェルの簡単なコマンドを使用しました。
cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;
非常に迅速かつ要点として、パテが持っていたすべてのファイルに対して仕事が完了しました。パスワード付きのキーが見つかると、停止し、最初にそのキーのパスワードを要求してから続行します。
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は、エージェントを実行して実行し続けるために必要な魔法のトリックでした。私はネット上のどこかでそれを見つけ、壁に頭をぶつけて数時間を終えました。
これで、ページェントの類似物が実行されました。キーがロードされていないエージェントです。
$ ssh-addを単独で入力すると、(デフォルトで)〜/ .sshのデフォルトのIDファイルにリストされている秘密鍵が追加されます。
より詳細なWeb記事はここにあります
PPK→OpenSSH RSAとPuttyGenおよびDocker。
秘密鍵:
docker run --rm -v $(pwd):/app zinuzoid/puttygen private.ppk -O private-openssh -o my-openssh-key
公開鍵:
docker run --rm -v $(pwd):/app zinuzoid/puttygen private.ppk -L -o my-openssh-key.pub