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_config
のListenAddress
を0.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
を使用する必要がありますか?
ちょうど何が起こったのかを確認する必要がありますbefore SSHはsyslog
でフランダリングを開始しました。ネットワークサブシステムが停止した場合、sshd
が失敗し始めた理由を説明できます。
/var/log/auth.log
も確認します。 sshd
のログであり、より良いエラーメッセージが表示される場合があります。
12.04ボックスで同じ問題が発生しました。つまり同じ症状。残念ながら、ListenAddress
節にinet6
内のinet
およびsshd_config
アドレスを指定して導入したときは常に起こりました。要するに、これは不正なsshd_config
の症状のように見えますが、ログファイルにはそのようなものはありませんでした。
sshd
このような場合に一般的に非常に便利だと思うのは、デーモン化せずにsshd
を起動することです。私の場合の問題は、syslog
もauth.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
を確認してください。
これはバグ#687535の結果であると思われます。バグ#687535は最近修正され、提案された更新としてmaverickとlucidの両方にアップロードされました。
https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535
誰でもそこに行き、テストケースを試して(TEST CASEを検索して)、提案された修正をインストールする前と後の両方に結果を投稿することをお勧めします。これは、SRUチームが検証が完了したことを判断し、更新としてリリースするのに役立ちます。
/etc/ssh/sshd_config
で、すべてのyesおよびnoオプションが小文字であることを確認します。たとえば、PermitRootLogin No
と設定すると、sshは起動しません。実際にはPermitRootLogin no
でなければなりません。
再起動後、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を開始できます。
Ubuntu sshは起動せず、syslogは「init:ssh main process(2044)terminate with status 255」を生成しました
/ usr/sbin/sshd -Ddp 10222
確かにsshd_config行エラーを特定するために働いた