RaspberryPi で 突然SSH 接続ができなくなった。原因はなんと fstab。
fstab でのマウントに失敗 → 起動時に緊急モード(rootログイン)になってしまった → そのために、SSH接続しようとしても(権限不足で)connection refused になる という流れ。
ーーー
SSH接続できない RaspberryPi をテレビにHDMIで繋いでみた。起動時にこんなエラーが出ている。
A start job is running for dev-disk-by¥x2duuid-4CED¥x2dB2D7.device ( **s / 1min 30s )
これは「UUIDが4CED B2D7のデバイスを探すのに最大1min30sかけている」というメッセージだ。
¥x2dは無視してヨシ(多分スペースの意味だから)
このあと、そのデバイスを見つけられなくてエラーになり、コンソールが #マーク(root)になっていた。つまり、デバイスのマウントエラーのために、緊急モードでrootになっていたということ。そのために、sshを受け付けないようになってしまっていたのだ(sshのconfigではroot権限での実行ができない設定にしてある)。
(解決法)
緊急モードのrootコンソールから/etc/fstab を開いて、マウントエラーになってしまうデバイスをコメントアウトする。
# vim /etc/fstab
# UUID-4CED B207 ...
まさか SSH の connection refused の原因が /etc/fstab だとは。気づくのにだいぶかかった。