我家里有一台服务器,我经常用 ssh 连接它。据我所知,我只能通过本地网络进行连接。有没有办法设置我的网站,以便我可以远程 ssh 连接我的服务器?也许像
$ ssh [email protected]
答案1
SSH 服务使用端口 22。在您的服务器中,转发端口 22。在您的路由器上,也转发端口 22。然后在以下位置找到您的公共 IP 地址:https://whatismyip.com然后,您可以使用 ddns 提供商为您的 IP 地址设置动态 DNS。如果您不使用 ddns,则需要经常手动检查您的公共 IP 地址并使用该地址进行 ssh。您可以在路由器上使用 ddclient 作为 ddns 客户端https://sourceforge.net/p/ddclient/wiki/Home/. 然后你会得到一个主机名,如myssh.ddns.net
并尝试ssh [email protected]
答案2
问题的核心是,你能否通过 SSH 连接到你的家用电脑。答案是可以的。你可以在 Linux 服务器上设置 SSH 服务器,在路由器的防火墙上打开一个端口(SSH 的默认端口是 22),然后将其转发到你的服务器。Harrymc 有基本的指导这里,来自 Superuser 上一个问题。Google 搜索类似“如何在家中设置 SSH 服务器”的内容以获取更多信息。
但是,您询问是否可以通过 Web 执行此操作。从技术上讲不行……而且可以!您的 Web 服务器在端口 80 上运行(传统上)。这意味着您的 SSH 服务器无法监听 Web 流量。但是,虽然不是您期望的方法,但您实际上可以通过 Web 服务器/页面添加 SSH 功能。本质上,您转到网站上嵌入了 SSH 终端的页面。阅读此 Wikipedia文章有关此方法的更多信息以及一些示例。这些方法的优点是您不需要打开另一个端口,也不需要带有 SSH 客户端的设备。