私は周りを見回していて、私が抱えている問題の解決策を見つけることができませんでした。私はUbuntu 16.04 LTS
を実行していて、2222
ファイルを更新してSSHポートをsshd_config
に変更するためにUbuntu page の指示に従いました。
# What ports, IPs and protocols we listen for
Port 2222
コマンドSudo systemctl restart sshd.service
を実行すると、次のエラーしか表示されません。
Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.
次に、コマンドsystemctl status ssh.service
を実行して、
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2016-09-07 23:24:04 EDT; 1min 28s ago
Process: 16813 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255)
Main PID: 16813 (code=exited, status=255)
Sep 07 23:24:04 sys-0 systemd[1]: Starting OpenBSD Secure Shell server...
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Main process exited, code=exited, status=255/n/a
Sep 07 23:24:04 sys-0 systemd[1]: Failed to start OpenBSD Secure Shell server.
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Unit entered failed state.
Sep 07 23:24:04 sys-0 systemd[1]: ssh.service: Failed with result 'exit-code'.
エラーはどういう意味ですか、どのように対処できますか?
@ techrafが言った のように、/etc/ssh/sshd_config
で単純なミスをした可能性があります。お試しください sshdテストモード :
$ Sudo sshd -t
/etc/ssh/sshd_config: line 1: Bad configuration option: sds
man page から:
-t
テストモード。構成ファイルの有効性とキーの健全性のみを確認してください。これは、構成オプションが変更される可能性があるため、sshdを確実に更新するのに役立ちます。-T
拡張テストモード。構成ファイルの有効性を確認し、有効な構成をstdoutに出力して終了します。オプションで、1つ以上の -C
options を使用して接続パラメーターを指定することにより、一致ルールを適用できます。SELinux
を利用するシステムで実行していますか?これはポートバインドを拒否している可能性があります。新しいルールを追加してみてください。
semanage port -a -t ssh_port_t -p tcp 2222
同じエラーが発生しました。しばらく頭を壁にぶつけた後、以前はうまく機能していたcustom-made-linux-server-setup-bash-scriptを実行して/etc/passwd
エントリを破棄したことがわかりましたが、今回は、「sed」コマンド内の正規表現によって既存のエントリがすべて削除されました。D別の動作しているLinuxサーバーからデフォルトのエントリをコピーして貼り付けた後、ようやくsshdを再起動できました。
そのため、正規表現の置換を適用する前に、元の/etc/passwd
ファイルをバックアップすることを忘れないでください:)
編集sshd_config
Sudo nano /etc/ssh/sshd_config
この行にコメントを付けます:
Subsystem sftp /usr/lib/openssh/sftp-server
つまり、次のように変更します。
# Subsystem sftp /usr/lib/openssh/sftp-server