Poderosaでopensshに接続できない
先日からUbuntu15を使い始めたわけだがWinのターミナルクライアントであるPoderosaからsshできなくて困った。
結論を先に書いちゃう。
Poderosaの最新版を使いましょう。
何が起こったか
古いPoderosaでつなぎに行くとこんなメッセージがでる。
Server does not support diffie-hellman-group1-sha1 for keyexchange
オメーの鍵交換方法じゃ通れねーから!!と言う事だ。調べてみるとopensshの仕様が変わったらしい。
openssh-6.7から KexAlgorithms のデフォルトが変更されています。 diffie-hellman-group1-sha1 は現在の基準では弱い鍵交換アルゴリズム なためデフォルトでは無効になっています。
0002804: [Seed] sshd起動時「/usr/sbin/sshd-keygen: No such file or directory」と、エラーが表示される。 - Vine Linux バグトラッキングシステム
ということでUbuntu15の問題というより、opensshとPoderosaの問題という事がわかった。Poderosaは所謂古いクライアントになるそうでただでは繋がらないとのこと。
暫定対応策(おすすめされていない)
この鍵交換方式で通れないなら、通れるようにしたらいいという力技。ssd側でdiffie-hellman-group1-sha1を通せるようにしたらいい。
/etc/ssh/sshd_config
KexAlgorithms diffie-hellman-group1-sha1
上記を追記してサービスをリスタートすると古いPoderosaでもつなげることができた。diffie-hellman-group1-sha1の鍵交換方式がデフォルトではなくなったってことは脆弱性があるという事だ。つまりこの解決策はわざわざセキュリティレベルを下げることと同義となる。openssh-6.7を使ってサーバーとかを運用している人はこの方法はとるべきではない。
やるじゃんPoderosa
プロジェクトサイトを見に行ったら最新版が2015/05/17に出ていた。2015/06/19時点で最新は4.3.14b。手元のバージョンは4.3.8b。普段だったらこんくらいのマイナーバージョンの差異は気にしない。それで新しいのを落として使ってみたら「オメーの鍵交換、、、」というメッセージはでなくなってた。ChangeLogをみるとこのバージョンからPoderosaの仕様をopenssh-6.7につなげられるように変えたとの事。さすがオープンソース開発者。という事で再度結論
最新版のPoderosaを使いましょう。