僕は発展途上技術者

COMPROMISED な公開鍵では ssh アクセスが許されない

久々技術的な話題のエントリーを。


ちょっとはまったので自分用のメモでもあります。


ホスティングサーバーの環境構築中(Ubuntu 8.04 (Hardy Heron) LTS)で、sshd の設定をおこなった。


パスワード認証を認めず、公開鍵によるアクセスだけを許すように設定したのだが、いざ ssh でそのサーバーにアクセスしようとすると、



% ssh user@somehost.com -p 30000

Permission denied (publickey).


とはじかれてしまう。


サーバー側の /etc/ssh/sshd_config の設定内容や、ローカルマシンの ~/.ssh/authorized_keys など、さんざん見直しても間違いがみつからず、ここでだいぶはまってしまった。


はまっときにはまずはログをみろという話ですね。鉄則を忘れてました。


/var/log/auth.log をみたところ、どうも次のところでひっかかっているのがわかりました。



Jun 18 13:44:38 xxxx sshd[3265]: Public key 11:22:33... blacklisted (see ssh-vulnkey(1))


see ssh-vulnkey とあるので、man ssh-vulnkey でマニュアルを調べたり Google 検索して調べたところ、脆弱(COMPROMISED)な公開鍵を使って ssh アクセスをこころみようとしていることが原因で、アクセスがはじかれているということがわかりました。



% ssh-vulnkey -a


を実行することで、使っている公開鍵がOKか(Not blacklisted)かそうでないか(COMPROMISED)がわかるのですが、案の定、使用している公開鍵が COMPROMISED となっていました。


秘密鍵、公開鍵のペアを生成し直す必要があるのですが、/etc/ssh/sshd_config に次の一行を追加すれば、暫定的に(セキュリティ上ほめられたことではないのですが) COMPROMISED な公開鍵でも ssh アクセスできるようになります。



PermitBlacklistedKeys yes


もちろん、変更を反映するには次を実行する必要があります。



% /etc/init.d/ssh reload


これでとりあえずはアクセスできるようになりました。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ