私はgitでプロジェクトに取り組んでいます。 Windowsでは、私はgit拡張機能を使用してこのプロジェクトを管理し、パブリックリポジトリにアクセスして.ppkキーを提供しています。私はそれをgit拡張にロードし、彼らが私に与えたパスフレーズを使ってそれは動作します。
次に、Linux(ubuntu-32bit)仮想マシンを設定し、このマシンからリポジトリにもアクセスしたいと思います。
このサイトで見た別のスレッドから、リポジトリのクローンを作成するために次のコマンドを使用します。
ssh-agent bash -c 'ssh-add /home/myHome/mykey.ppk; git clone git@serveraddress:project.git'
次に、シェルはパスフレーズを挿入するように指示します
Enter passphrase for /home/myHome/mykey.ppk:
しかし、それを挿入すると、それは悪いパスフレーズだとわかります。何度も確認しましたが、Windowsで使用しているのと同じパスフレーズを使用しているはずです。では、Linuxでキーを正しく使用するにはどうすればよいですか?
返信ありがとうございます。
Linux SSHクライアント(通常はOpenSSH)は、Windows SSHクライアントPuTTYで使用されるPPK形式を読み取ることができません。最初に、与えられた「PPK」キーをOpenSSHキーに変換する必要があります。 Linuxに「PuTTY」をインストールし、puttygen
コマンドラインツールを使用します。
$ Sudo aptitude install PuTTY
$ mkdir -p ~/.ssh
$ puttygen ~/mykey.ppk -o ~/.ssh/id_rsa -O private-openssh
パスフレーズを入力すると、OpenSSH互換のキーが標準の場所で取得されます~/.ssh/id_rsa
。その後、ssh-add
(引数なし!)を使用して、このキーをSSHエージェントに追加します。
または、WindowsでPuTTYによって提供されるPUTTYgenプログラムを使用することもできます。