Ubuntu 16.04.5を実行しているVPSを使用していますが、VPSには何年も前から問題はありません。しかし、今日、SSHを使用してサーバーにアクセスできず、「接続拒否」エラーを受け取った。 VPSホストのシリアルコンソールサービスを使用してサーバーにアクセスし、opensshサーバーの起動に失敗するまで問題を追跡しました。再起動後のservice status
、service start
、sshd -t
の出力を次に示します。
root@167:/# service ssh status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Fri 2019-01-18 04:56:42 EST; 24min ago
Process: 983 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255)
Jan 18 04:56:42 167 systemd[1]: Failed to start OpenBSD Secure Shell server.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Unit entered failed state.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Failed with result 'exit-code'.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Jan 18 04:56:42 167 systemd[1]: Stopped OpenBSD Secure Shell server.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Start request repeated too quickly.
Jan 18 04:56:42 167 systemd[1]: Failed to start OpenBSD Secure Shell server.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Unit entered failed state.
Jan 18 04:56:42 167 systemd[1]: ssh.service: Failed with result 'start-limit-hit'.
root@167:/# service ssh start
Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.
root@167:/# sshd -t
Missing privilege separation directory: /var/run/sshd
私はこれについていくつかの調査を試みましたが、出てきたものは実際の解決策を持っているようには見えません-答えがない、時代遅れの答え、または一般的に役に立たない情報だけの「この問題があります」という無限のサイクル。
この問題をトラブルシューティング/解決するために次に何をすべきかについて誰かが何かアイデアを持っていますか? SSHは、更新を実行するためにログインしてサーバーを再起動したとき、約12時間前に最後に機能していました。
[〜#〜]更新[〜#〜]
ここで提供される回避策1を使用して問題を解決しました: https://askubuntu.com/a/1110843/5315
バグレポートはこちら によると、この問題は、ディレクトリ作成コードを/etc/rc.local
に追加することで回避できます。
私はいくつかの調査を行いましたが、通常のサーバー起動時にそのディレクトリを作成するために何が想定されているのかまだわかりません-これを行う/etc
の下にいくつかのスクリプトがありますが、それらは廃止されるようです古いSysVスタートアップに関連していて、そのディレクトリを作成するためのSystemD initセットアップに何も見つかりません。
[Update]:@ pa4080コメントに気づきました。これはそのようです-/usr/lib/tmpfiles.d/sshd.conf
ファイルが存在し、d /var/run/sshd 0755 root root
、openssh-server
バージョン1:7.2p2-4ubuntu2.6
。
tmpfiles.d
ディレクトリはsystemd-tmpfiles
サービスの一部であり、 ここに記載 です。
これは更新の失敗として説明されている関連するバグレポートを見ており、openssh-serverを最新バージョンに更新すると修正される可能性があるため、更新が異常である可能性があります。