在阅读了一篇关于 SSH 有多酷的文章后,我尝试了那里给出的关于隧道连接的解决方案。
这是我第一次尝试这个。
我打开了一个终端并输入:
ssh -D 9999 -C myUsername@localhost
我收到了这条消息:
特权端口只能由 root 转发。
所以我再次开始,这一次,使用 sudo:
sudo ssh -D 9999 -C root@localhost
但我仍然无法访问。这是我这次收到的消息:
ssh:连接到主机 localhost 端口 22:连接被拒绝
我究竟做错了什么?
一个简单的隧道通常是这样完成的
ssh -L 8080:localhost:80 [email protected]
这将允许您访问远程服务器上的 Web 服务器,当您可以通过 ssh 访问它,但不能访问它时。
通过 SSH 连接到您的本地主机通常毫无意义。这样做只是为了检查您的 ssh 服务器是否正常运行或密钥是否正确。
您看到的连接被拒绝错误是因为 ssh 服务器未在您的本地计算机上运行。sudo apt-get install openssh-server 然后你可以从 localhost 或任何其他你可以从端口 22 连接到这台机器的地方(通常在你的本地网络防火墙后面)ssh 到你的本地机器
-D(动态应用程序转发)是一种不同的情况,如果您本地计算机上的某些棘手的胖客户端应用程序(例如 mysql)需要访问远程计算机上的服务器,则更适用。它不常使用。
当您尝试重定向小于 1024 的本地端口时,会出现关于特权端口的消息。因此在上面的示例中使用端口 8080,以避免特权端口 80。对于上面的示例,您的浏览器将使用
http://localhost:8080