![Unix環境でputtygenで生成された公開鍵を使用する?](https://rvso.com/image/1303470/Unix%E7%92%B0%E5%A2%83%E3%81%A7puttygen%E3%81%A7%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E5%85%AC%E9%96%8B%E9%8D%B5%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%3F%20.png)
(unix、ここでは: ubuntu 10.4)
私は、UNIX で SSH キー ペアを作成する方法 (ssh-keygen) と、Windows でそれを実行する方法 (puttygen) を知っています。私のケースで不足しているのは、Windows で生成されたキー ペア (puttygen) を UNIX シェルで使用する方法です。
この場合、git で ssh キーとして使用するために、公開キーをどこに配置する必要がありますか。
答え1
必要なキーに応じて...
秘密鍵 – ログイン用からUnixシステムを別のUnixシステムに変換する
まず、PuTTYgen を使用して、キーを PuTTY 形式から OpenSSH が使用できる形式に変換する必要があります。
Windows版のPuTTYgenでは、変換 → OpenSSH キーのエクスポートメニュー項目;
Linux 版では、
puttygen mykey.ppk -O private-openssh -o mykey
.
公開鍵のみ – Windowsからのログイン用にユニックス
ダニエルの回答を参照してください。
答え2
Puttygen ウィンドウには、SSH で想定される形式の公開キーを含むテキスト領域が含まれています。
~/.ssh/authorized_keys
それをコピーし、サーバー上のファイルに別の行として追加します。ファイルとディレクトリがグループやその他のユーザーによって読み取り/書き込み可能でないことを確認してくださいchmod go-rwx ~/.ssh ~/.ssh/authorized_keys
。つまり、 を実行します。
その後、サーバーは認証に秘密鍵を使用してログインを受け入れます。
答え3
はい、あまり明確に説明できなかったと思いますが、解決策を見つけました:
- puttygenを起動する
- 秘密鍵を読み込む
- メニュー変換|OpenSSHキーのエクスポート
- どこかに保存し、開いて、内容をクリップボードにコピーし、Linux のファイル $HOME/.ssh/id_dsa に貼り付けます。
- (オプション) テキスト領域「OpenSSH authorized_keys ファイルに貼り付けるための公開キー」の内容をコピーし、Linux のファイル $HOME/.ssh/id_dsa.pub に貼り付けます。
これで、シェルからこの SSH キーを使用してリモート システムにログインできるようになります。
補足: Windows から git をシームレスに使用するには、Linux シェルの putty を使用して git に接続し、putty セッションで次のオプションを設定します。
(そして、公開鍵を ~/.ssh/authorized_keys に置く必要があります。)