如何停止/启动 ssh?我试过了
/etc/init.d/ssh restart
sudo service ssh restart
sudo restart ssh
Run Code Online (Sandbox Code Playgroud)
我每次都会出错。
Mic*_*ler 43
使用这个命令:
sudo systemctl restart ssh
Run Code Online (Sandbox Code Playgroud)
重新启动 SSH 服务器/守护进程。
与前进systemd与开始的Ubuntu 15.04,你现在用这个语法来停止,启动或重新启动服务:
sudo systemctl <action> <service-name>
Run Code Online (Sandbox Code Playgroud)
zpl*_*tan 13
它应该像(在使用 openssh-server 的全新安装上测试)一样简单
sudo stop ssh
sudo start ssh
Run Code Online (Sandbox Code Playgroud)
由于它利用了upstart,因此这是最好的方法™,而不是使用 /etc/init.d/sshservice或直接调用 sshd。确保运行这两个命令;如果您在 上遇到错误stop ssh,start ssh不管怎样,看看它说了什么——服务可能已经停止了。
(我会推荐stop/ startover restart,除非您尝试远程重新启动系统。如果 ssh 已经停止,restart则不会启动它。)
如果这些命令不起作用,那么您可能遇到了错误或对系统进行了过多的修补,在这种情况下,您至少知道问题所在。
自 Ubuntu 15.04 起,Canonical 不再默认提供 upstart。
因此,命令start、stop和restart不再可用。
现在重新启动 SSH 服务(或任何其他服务)的正确方法是以下两个命令之一:
sudo systemctl restart ssh
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
我认为未知实例错误是因为 SSH 未运行。
尝试:
ps ax | grep sshd
Run Code Online (Sandbox Code Playgroud)
要查看 SSH 守护进程是否正在运行,您应该看到类似以下内容:
/usr/sbin/sshd -D
Run Code Online (Sandbox Code Playgroud)
无论如何,只需尝试以下任一方法:
sudo /etc/init.d/ssh start
sudo start ssh
首先使用以下命令检查 sshd 是否正在运行:
ps -ef | grep sshd
Run Code Online (Sandbox Code Playgroud)
您应该看到类似以下内容:
root 1234 1 0 12:28 ? 00:00:00 /usr/sbin/sshd -D
Run Code Online (Sandbox Code Playgroud)
如果您没有看到一行,/usr/sbin/sshd -D则 sshd 要么从未启动,要么已崩溃,这将需要进一步进行故障排除以找出原因。
如果您确实看到该行,请运行以下命令:
cat /var/run/sshd.pid
Run Code Online (Sandbox Code Playgroud)
这应该打印 sshd 的进程 ID,因此在这种情况下您应该看到:
userid@computername:~$ cat /var/run/sshd.pid
1234
Run Code Online (Sandbox Code Playgroud)
如果 sshd.pid 的内容与正在运行的 sshd 实例的进程 ID 不匹配,则说明某些东西已错误地重新启动了它。但无论您在这里找到什么细节,都应该让您走上正轨。要么崩溃,要么错误地重新启动,要么根本就没有启动。