ヘッダー画像

SynologyのDSM2段階認証でログインできなくてハマった

投稿 2022年5月29日 最終更新 2022年5月29日 専門用語多め

事象

DSMにログインできない?

突然SynologyのDSM(以下DSM)にログインできなくなりました。

ユーザ名とパスワードを入力し、ワンタイムパスワード入力画面で、
「認証コードが正しくありません。やり直してください。」

と言われるようになりました。

DSMの設定にて、2段階認証(DSMでいう2要素認証)を設定しており、
2段階認証の手段は「Google Authenticator」を使用していました。

また、時刻同期サーバ(以下NTPサーバ)は「ntp.nict.jp」で設定済みでした。

入力ミス・ワンタイムパスワードの有効期限かと思い、何度試してもログインできませんでした。

原因

時刻がずれていた

DSM側の時刻が遅れているのが原因でした。

DSM(パスワードを認証する側)と、スマホ(パスワードを発行する側)の時刻がずれていると
ワンタイムパスワードの有効期限等の影響で、絶対パスワードが合わなくなってしまいます。

対処

時刻を同期

SSHで接続することはできたため、SSHで接続し下記のコマンドを実行することで解決しました。

ntpdate -u ntp.nict.jp

内容的にはNTPサーバと時刻を同期するコマンドです。

ただし、あくまで私のNTPサーバが「ntp.nict.jp」で設定しているので、
もしNTPサーバを異なるサーバに設定している場合は、オプションを変更して実行ください。

DSMの時刻が遅れていたことが原因なので、NTPサーバと同期させ、
サーバ時刻をそろえることで、無事にDSMへログインできました。

何度も時刻がずれる

上記問題が起きたときは、これで解決したと思ったのですが、
それから時間がとても経ったわけではないのですが、また同じ事象が発生しました。

そのためなにかしら対処をしないといけないなと思いつつも、手動で同期させるのは手間です。

なので無理やりですが、自動的に同期するような設定を入れてみました。

ずっと時刻がずれないようにするには?

タスクスケジューラで、定期的に先ほどのNTPサーバ同期コマンドをたたき続けることです。

こうすることで、もう時刻がずれることはほとんどないはずです。

私のタスクスケジューラ(同期)の頻度は、毎日(24時間間隔)で同期しています。

さすがに1日で30秒以上はずれないでしょう・・・。

あまり無駄にNTPサーバに負荷かけるのも申し訳ないですし。

まとめ

SynologyのDSMにログインしたときに、2段階認証でハマった話でした。

DSMにログインしたときに毎回NTPサーバとの同期を手動でするのは面倒ですし、
なんせこういう事が起きるときって、だいたい久しぶりにログインするときとかですし。。。

久しぶりにログインしたときにこんなこと起きたら、わけわからなくなりますからね。

それを防ぐためには、定期的にNTPサーバと時刻同期しろって話でした。

以上、ここまで見ていただきありがとうございます。

皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。

コメント

この記事のコメントはありません。