回答:
(openssh-serverを使用した新規インストールでテスト済み)のように単純である必要があります
sudo stop ssh
sudo start ssh
upstartを活用するため、これは/etc/init.d/sshを使用しservice
たり、sshdを直接呼び出したりするのではなく、これを行うのに最適な方法です。必ず両方のコマンドを実行してください。とにかくでエラーが発生しstop ssh
、start ssh
それが何を言っているかを確認した場合、サービスは既に停止している可能性があります。
(システムをリモートで再起動する場合を除き、stop
/ start
over をお勧めしrestart
ます。sshが既に停止している場合restart
は、起動しません。)
これらのコマンドが機能しない場合は、おそらくバグが発生しているか、システムに手を加えすぎている可能性があります。この場合、少なくとも問題が何であるかはわかりません。
Ubuntu 15.04以降、Canonicalはデフォルトでupstartを出荷しなくなりました。
したがって、コマンドstart
、stop
およびrestart
は使用できなくなりました。
SSHサービス(またはその他のサービス)を再起動する正しい方法は、次の2つのコマンドのいずれかです。
sudo systemctl restart ssh
sudo service ssh restart
最初に、次を使用してsshdが実行されているかどうかを確認します。
ps -ef | grep sshd
次のように表示されるはずです。
root 1234 1 0 12:28 ? 00:00:00 /usr/sbin/sshd -D
その行が表示されない場合は/usr/sbin/sshd -D
、sshdが開始されていないか、クラッシュしているため、原因を突き止めるためにさらにトラブルシューティングが必要になります。
その行が表示されたら、次にこれを実行します:
cat /var/run/sshd.pid
これにより、sshdのプロセスIDが出力されるはずです。この場合、次のように表示されます。
userid@computername:~$ cat /var/run/sshd.pid
1234
sshd.pidの内容がsshdの実行中のインスタンスのプロセスIDと一致しない場合、何かが間違って再起動しています。しかし、ここで見つけた詳細が何であれ、正しい道を歩むはずです。クラッシュしているか、正しく再起動されていないか、そもそも起動されていないかのいずれかです。
Ubuntuデスクトップの場合:
最初にサービスのステータスを確認します。
sudo service ssh status
次のように表示されますActive: active (running)
。-実行中の場合、再起動する必要はありません。それでも再起動する場合、Ubuntuはsshdではなくサービスsshを呼び出します。
service ssh restart
ただし、CLIを使用したUbuntuデスクトップではない場合:
sudo systemctl restart ssh
sudo service ssh restart
サービスは、sysvinitではなくupstartによっても制御されます。したがって、/ etc / init.d / sshの代わりに/etc/init/ssh.confにあります。
コマンドを使用して構成ファイルを編集することにより、いくつかの設定(リスニングポート、ルートログイン許可など)を変更する場合:
sudo nano /etc/ssh/sshd_config
Ubuntuデスクトップでは、nanoの代わりにgeditを使用できます。
最後に、SSHを再起動またはリロードして変更を適用します。
sudo service ssh restart
それでも上記が機能しない場合は、次のように入力します。
sudo service ssh stop
sudo service ssh start
上記のすべてが失敗した場合、ubuntuシステムを再起動してみてください。
sudo reboot -f