我在让远程隧道工作方面遇到了太多麻烦。主要是,我需要在终端中输入什么才能让它工作。我知道这可能是重复的,但至少这会给我指明正确的方向。
以下是我目前所做的:
1) 我进入 Xfinity 网关页面并打开端口转发。2) 我将服务器的 IPv4 和 IPv6 地址添加到端口转发设置对话框中,并将端口 22 作为监听端口,不管这意味着什么。我遇到的问题如下:
我该在终端上写什么来访问我的服务器!
我写吗
"ssh username@Router_IP_Address" or "ssh -R (some random thing about port
22):localhost:(port 22 again for some reason) username@server_ip"
我已经寻找答案太久了,我只是需要一个答案。我在 Ubuntu 上花了 4 年时间,从来没有遇到过任何问题。这个问题已经持续了 3 天。请帮助我。
答案1
您没有明确说明您要做什么。
您想要通过 ssh 进入互联网上的某个远程服务器吗?
您正在尝试通过 ssh 进入本地服务器吗?
您的计算机是服务器吗?您正在尝试从互联网登录到您的计算机吗?
如果是第一种或第二种情况,则不需要端口转发,在这些情况下您要运行的命令是,
ssh <username>@<server address>
默认情况下,它假定端口是 22。如果不是 22,则需要运行此命令。
ssh <username>@<server address> -p <port number>
如果是第三种情况,那么,首先,您需要在计算机上启动 ssh 服务器。在 Ubuntu 上,您可以启动 ssh 服务器sudo service sshd start
。现在,正确设置端口转发,简而言之,如果有人在端口 22(或您设置端口转发的任何端口)上向您的公共 IP 地址发送请求,它应该将该请求发送到正在运行 ssh 服务器的本地服务器。
完成后,您应该能够通过运行此命令从互联网访问本地计算机。
ssh <your pc's username>@<Your public IP address> -p <Port that you used in port forwarding>
如果这些听起来令人困惑的话请告诉我。
答案2
如果我理解正确的话,您想通过互联网连接到您的家用机器(通过您的家用路由器进行端口转发)。
其语法如下(如果 123.456.789.00 是您的家庭 IP 地址):
ssh [email protected]
或者如果您有域名:
ssh [email protected]
答案3
因此,如果您尝试通过 ssh 隧道传输一个端口,则只需使用此命令。它将使用路由器的端口 22。
ssh [用户]@[远程计算机 ip 地址] -L [本地计算机端口]:本地主机:[远程计算机端口]
例如
远程控制[电子邮件保护]-L 10000:本地主机:80
现在,您可以通过端口 22 的加密连接在本地主机的端口 10000 上访问 10.10.10.10:80 的网站。