RSA2048とEclipse ~Githubとsshを添えて~

はろー。
非常に香ばしいタイトルですね。どこかのパスタみたい。
僕の奪われた2時間余りの時間の恨みによって丹精込めてお作りしました。(はあ。)

あれです。
結論から言うと、Eclipse(Indigoで検証。Latest Ver.は知りませんw)では、
RSA2048の鍵を使ってssh接続ができないことが判明。

だらだら文章書くの好きですが、読む方からしたら
それはたまったものではないと思うので、
一応いうと、
1.Eclipseでkeygenするとrsa1024
2.terminal上でkeygenするとrsa2048
3.Eclipseでrsa2048の鍵を暗号化しようとすると対応してる長さを超過して失敗
4.結果、ssh接続を試みる際に何度passphraseを打っても失敗することに
Eclipsessh接続するならrsa1024使いましょう
というお話。

以下は、上の話をだらだら書きたいだけのアレ。

Githubの利用にあたって、Https接続の他に、SSH接続辺りはよく使われると思います。
で、自分はSSH接続を使っていたんだけど、なぜか、
CommitしてPushしても、自分自身がContributorにならず、
自分なのに自分じゃない誰かがContributeしたことになっているという
悲しい状態に気付き、これをどうにかしたいと思ったのが事の発端。

GravatorではPublicにしてるアドレスを基にアイコンを紐づけている、なんて話があって、
一度それを知らずにいつまでもアイコンが変わらないという状況と
悪戦苦闘したことがあったので、ブルータスお前もか、てな具合で、
新ためてssh-keygenを、publicにしているアドレスと共にすることに。

で、以前keygenしたときは、EclipseのPreference>Network>SSH2にある
keygenを使っていたわけ。
だけど、今回は、わざわざそこでkeygenする必要もないな、ということで、
Terminal上で
$ ssh-keygen -t rsa -C "自分のアドレス"

で生成したわけ。

で、生成結果を見てると、rsa2048なんて記述もあって、
ふーん、Eclipseはrsa1024だったから、暗号強度がこっちの方が高いんだ!
いいね~!こっちから生成してよかった~なんて思ったわけです。
Githubに新しいpublic keyを登録して、いざEclipseからssh接続!

すると...?
Passphraseを求める画面で、何度入力しても、
Passphraseが間違っている時の挙動をする。
おかしい。おかしい。
これだけ何度も打ち続けてきたPassphraseを打ち間違えるはずがない。
生成のときに間違えた?まさかな、、。

とりあえず、そんなことを言っていても接続に失敗してしまったので、
気を改めてpassphraseを変更する。
いつも通り鍵を置いてる.sshフォルダに移動後、
$ ssh-keygen ****(例:id_rsa) -p
これをやると、****で指定した名前の鍵のpassphraseを
新しく鍵を生成することなしに変更できるという!
で、ゆっくりと間違いのないように二度打ってから再挑戦......
あってるのに、弾かれる?!
こうなってくるともう、意味がわからないですね。

で、それでももしかしたらどこかでhuman-error
犯してしまっている可能性があるということで、
次はpassphraseをblankに。(さっきの-pオプションでなにも入力せずEnter)

これなら間違いようがない、ふふふふふ。
というわけで再挑戦。



...また弾かれる!意味がわからないよ!僕は悲しいよ!

で、EclipseのSSH2のKeyManagementにいって、
既存の鍵を管理、みたいなやつがあったので、
そのrsa2048の何度も弾かれた鍵を選択したんですよ。
そしたら......
暗号化に失敗しました!とか言うじゃないですか。
もう、明らかにそういうことじゃないですか。

それがわかればもうこっちのもので、
改めてrsa1024で作成し直して、
同様の手順を踏んだら、
うん、当たり前のように通ったね。

それ、接続のときにエラーとして出して欲しかったな...ホントに。


あ、ちなみにこの一件を解決しても
GithubのContributeの一件はなにも変化がありませんでした。
なんだよ、Eclipseの特性についてちょっと詳しくなっただけか、、、。

書いたらすっきりしました。
これ、きっとスクリーンショットとかバンバン貼ったら、
見る人にも優しいんだろうなあ~。
JUGEM、画像上げるの面倒だからやりませんが。

ああ、こんにちは、月曜日。
寝るよ!

Bye.
Remove all ads