![我可以不使用 ssh 访问远程服务器吗?](https://linux22.com/image/537136/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%B8%8D%E4%BD%BF%E7%94%A8%20ssh%20%E8%AE%BF%E9%97%AE%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%97%EF%BC%9F.png)
linux 服务器上的 SSH 连接已停止监听,nmap 的输出为
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
199/tcp open smux
443/tcp open https
5000/tcp open upnp
9102/tcp open jetdirect
有没有办法可以远程启用 ssh?
答案1
您需要访问 Linux 机器的控制台才能再次启动 ssh 服务 - 这可能涉及您向托管服务提供商登记工单。如果服务未设置为在启动时启动,则重新启动可能无法解决此问题。
答案2
你可能运气不佳。即使这些服务配置得还不够好,它们也不会给你所需的访问权限。如果没有其他办法,你可能需要重启。
答案3
很可能,如果 SSH 之前可以工作,但现在无法工作,并且不再监听,那么(很可能)您无需重新启动。您需要进入控制台(非 SSH),向托管服务提供商提交支持请求,或者让某人为您控制台系统。我怀疑 SSH 可能已挂起,只需重新启动即可(有时您可能必须终止旧的 ssh PID 才能使重新启动正常工作,具体取决于 SSH 挂起的严重程度 - 如果这不起作用,您可能必须删除 SSH 锁定文件,如果事情真的变得不可控)。对于 Linux 发行版,您很少会因为软件问题而重新启动 - 通常可以使用命令行工具来解决此问题。
如果有远程重启选项,我不建议使用它,但是,如果这是你唯一的方法,请自行承担风险。
答案4
由于您具有 FTP 和 HTTP 访问权限,如果您的系统上有 PHP 或其他脚本语言,您可以上传如下文档,以便为您作为 Web 服务器用户提供 shell:
<?php
echo "starting shell<br>";
system("cd /tmp; mkfifo fifo; nc -l 2000 <fifo | bash -i &> fifo ; rm fifo");
echo "done<br>";
?>
不幸的是,您没有控制终端,因此无法运行“su”来重新启动 sshd。