Eclipse の SSH アクセスで失敗した話

no extension

トラブル対応で自前の環境に Eclipse を入れて GitHub リポジトリにアクセスする羽目になった。 GitHub リポジトリへのアクセスには HTTPS と SSH の2通りある。 このうち HTTPS のほうはアカウントのパスワードが使えなくなり,代替手段として personal access token を取得する必要がある1

まぁ personal access token の話はこれくらいにして,本題は SSH 接続のほう。 ちなみに今回の構成は以下の通り。

Eclipse で Git および SSH をドライブしてるのは EGitJSch だそうだが,ユーザからこれが見えることはない。 「自前で構築している環境(Git for WindowsPuTTY)は使えないんだろうなぁ。鍵を作るところから始めるか」とため息をつきつつ,以下のページを参考に(感謝!)作業を始めたのだが

最初の1フィートで驚愕してしまった。

いやいやいや。 DSA か RSA の1024ビット鍵しか作れんのかい! まさか世の Eclipse ユーザはみんな1024ビット鍵で SSH にアクセスしてるの? アカンやろ。アカンよね!?

首を捻りながらも設定を済ませ,いざ clone しようとしたら今度は No supported authentication methods available とか言ってくさる。

周囲の人たちは問題なくアクセスできてるみたいなので私の環境の問題だと思うが,マジで分からない。 これのせいで半日近く作業が止まってしまったよ。 で,さんざん悩んだ挙句に気が付いた。 これってひょっとして plink で SSH アクセスしようとしている?

念のために説明すると plink は Windows 用の SSH クライアント兼ターミナル・エミュレータである PuTTY が他ツールとの連携用に提供している SSH 接続ツールだ。 Git がインストールされている環境で

set GIT_SSH=C:\Program Files\PuTTY\plink.exe

とか環境設定しておけば OpenSSH ではなくPuTTY/plink で接続しようとする。 どうやら Eclipse はこれを認識しているのかな?

となると話は早い。 ぶっちゃけ Git for Windows & PuTTY で既に環境が出来ていれば Eclipse 側の SSH 設定は不要ということだ。 というわけでめでたく GitHub リポジトリに SSH でアクセスできた。 ようやくトラブル対応できる。 RSA-1024 とか玩具の南京錠のごとき鍵を作る必要もなく,既に運用している EdDSA 鍵で問題なし。 上のスナップショットで作った鍵はとっとと捨てたよ(笑)

Eclipse の git リポジトリ操作も見せてもらったが面倒臭すぎてまともに運用できる気がしない。 いや,これ,マジで VS Code を啓蒙しないとダメかしらん。

ブックマーク

参考図書

photo
Spring Boot 2 入門: 基礎から実演まで Webアプリ開発入門
原田 けいと (著), 竹田 甘地 (著), Robert Segawa (著)
2020-05-22 (Release 2020-05-22)
Kindle版
B0893LQ5KY (ASIN)
評価     

Spring Boot を勉強することになって急遽買った本。めっさ分かりやすかった。 PDF 版が欲しいくらい(笑)

reviewed by Spiegel on 2021-06-13 (powered by PA-APIv5)

photo
Effective Java 第3版
Joshua Bloch (著), 柴田 芳樹 (翻訳)
丸善出版 2018-10-30
単行本(ソフトカバー)
4621303252 (ASIN), 9784621303252 (EAN), 4621303252 (ISBN)
評価     

再勉強中。 Kindle 版のほうがちょっと安いが,勤務先でも使いたかったので紙の本にした。

reviewed by Spiegel on 2021-03-17 (powered by PA-APIv5)


  1. GitHub Docs の内容は少し古いみたいで,Settings の構成がちょっと違う。 Settings > Developer settings > Personal access tokens の順に辿っていけばよい。ちなみに personal access token の Expiration を無期限に設定すると GitHub が物凄い勢いで警告を出してくる(笑) ↩︎