Create  Edit  Diff  Mac OS X Serverで作る 小さな計算機室  Index  Search  Changes  RSS  Login

ログインできないトラブル

しばらくの間、定常運転していたMac Proのサーバーが、ときどきおかしな挙動を示すようになった。 メールやWEBなどのサービスは全てちゃんと動いている。 けれども、sshでリモートログインしようとすると、パスワードが通った直後に、うんともすんとも言わなくなる。ssh -v して様子を見ても、だんまりになる直前までは異常はない。

そんな状態でも、管理ユーザーでコンソールからはログインできて、「サーバー管理」はちゃんと使える。 ところが、sudoやsuは受け付けないし、再起動もかけることができない。 仕方がないので、電源スイッチで無理矢理落として、再起動すると、何事もなかったように動き出す。 そして、1〜2週間くらいすると、不定期的に、また上記の症状が発生する・・・ 困ったものだ。

認証関係、ファイルサービス関係、ディスクの不具合など、調べた範囲では、特に深刻な問題はまだ 見つかっていない。

sshdの設定

/var/log/secure.logを見ると,定常的に(たぶんロボットが)外部からrootなどのidで不正ログインを試みている。 sshdの認証する前に張れるセッション数は,/etc/sshd_configのMaxStartupsで設定できる。 デフォルトは10なので,同時に10以上,不正進入を試されると実際の「正規ユーザー」がログインしようと しても受け付けてくれなくなる。 しかも,様子を見ていると,CLOSE_WAITやLAST_ACKのまましばらく残っているコネクションがいつも見られていた。

そこで,次善の策として,

  1. rootでの進入を試みる例が多いので,PermitRootLoginはもちろんnoにしておく
  2. 不正ログインの試みができるだけ短時間で終わるように,MaxAuthTriesを小さめの値にしておく。
  3. MaxStartupsの値を大きめ(20くらい)に設定
  4. LoginGraceTimeをあまり大きい値にすると,サーバーがだんまり状態になりやすい。かなり短めに設定してみる。

としておいた。

でもやっぱりダメみたいなので,仕方なく,外部から22番ポートへの接続をブロックした。

代替ポートを開けてみる

次に、/etc/sshd_configを変更して、22番以外のポートも開けて、外部からはそちらをアクセスするようにしてみた。 が、Portの指定を変えても、全く反映されない。少し調べると

http://www.macosxhints.com/article.php?story=20050707140439980

に記述があったので、これに沿って plist などをいじる。 うまく動いた様子だ。

Last modified:2009/10/15 18:27:43
Keyword(s):
References:[Mac OS X Serverで作る 小さな計算機室] [frontpage]