web-dev-qa-db-ja.com

SSHサーバーが機能しない(停止するまで再起動する)

Ubuntu Server 10.04.1を実行しています。 ssh経由でサーバーにログインしようとしても、できませんでした。代わりに、connection refusedエラーが発生しました。マシンにpingを実行しようとしたところ、返信がありました!したがって、明確な理由は、SSHデーモンが停止していることです。

再起動後、ssh経由でサーバーにログインできました。しばらくして、ログ/var/log/syslogを見て、次のレコードを見つけました。

Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped

同様の問題/解決策を探しました。一部の人々は、これはネットワークの前に起動しようとしているSSHデーモンが原因であると言い、/etc/ssh/sshd_configListenAddress0.0.0.0に変更することを提案します。私の問題はシステムが稼働した後に発生するため、これは私の場合の原因ではないと思います。

何がこれを引き起こしているのでしょうか?これはUbuntu Serverであり、SSHを使用してリモートで実行およびアクセスする必要があります。

更新:

/var/log/auth.logで見つけたログスニペットを以下に示します。

Jan 16 10:56:38 myserver Sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver Sudo:     user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.

SSHデーモンをリロードした後、このエラーが表示され始めたようです。 ssh reloadの使用を避け、代わりにssh restartを使用する必要がありますか?

12
Khaled

ちょうど何が起こったのかを確認する必要がありますbefore SSHはsyslogでフランダリングを開始しました。ネットワークサブシステムが停止した場合、sshdが失敗し始めた理由を説明できます。

/var/log/auth.logも確認します。 sshdのログであり、より良いエラーメッセージが表示される場合があります。

7
Oli

12.04ボックスで同じ問題が発生しました。つまり同じ症状。残念ながら、ListenAddress節にinet6内のinetおよびsshd_configアドレスを指定して導入したときは常に起こりました。要するに、これは不正なsshd_configの症状のように見えますが、ログファイルにはそのようなものはありませんでした。

トラブルシューティングsshd

このような場合に一般的に非常に便利だと思うのは、デーモン化せずにsshdを起動することです。私の場合の問題は、syslogauth.logも意味のあるものを示さなかったことです。

ターミナルから始めたとき、私は得ました:

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

ずっといい!このエラーメッセージにより、問題点を確認して修正することができました。どちらのログファイルにもこの出力は含まれていません。

NB:少なくともUbuntuでは、$(which sshd)は絶対パスのsshd要件を満たすための最良の方法です。そうしないと、次のエラーが表示されます:sshd re-exec requires execution with an absolute path-p 10222は、その代替ポートでsshdをリッスンさせ、構成ファイルをオーバーライドします-これは、実行中のsshdインスタンスと衝突しないようにするためです。ここで空きポートを選択してください。

この方法は、認証の問題であれ他のタイプであれ、問題を見つけるのに何度も役立ちました。 stdoutへの詳細な出力を取得するには、$(which sshd) -Ddddp 10222を使用します(冗長性を高めるためにddが追加されていることに注意してください)。デバッグの詳細については、man sshdを確認してください。

16
0xC0000022L

これはバグ#687535の結果であると思われます。バグ#687535は最近修正され、提案された更新としてmaverickとlucidの両方にアップロードされました。

https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535

誰でもそこに行き、テストケースを試して(TEST CASEを検索して)、提案された修正をインストールする前と後の両方に結果を投稿することをお勧めします。これは、SRUチームが検証が完了したことを判断し、更新としてリリースするのに役立ちます。

4
SpamapS

/etc/ssh/sshd_configで、すべてのyesおよびnoオプションが小文字であることを確認します。たとえば、PermitRootLogin Noと設定すると、sshは起動しません。実際にはPermitRootLogin noでなければなりません。

2
Flow

再起動後、Linode上のUbuntu 11.10イメージで同様の問題が発生しました。 sshサービスはsyslogで生成します。

Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped

これはテストボックスであり、約60日間の稼働時間があったため、途中でsshd_configの下部に追加するものをインストールしました。

ClientAliveInterval 60
ClientCountAliveMax 60

これらの行にコメントを付けると、sshを開始できます。

1
joe

Ubuntu sshは起動せず、syslogは「init:ssh main process(2044)terminate with status 255」を生成しました

/ usr/sbin/sshd -Ddp 10222

確かにsshd_config行エラーを特定するために働いた

0
user652460