ssh - 如何穿过隧道?

标签 ssh ssh-tunnel

我在工作中有 SecureLink Enterprise 连接。这允许我通过门户网站启动 VPN,然后为我设置到预定义远程计算机的 ssh 隧道。创建隧道后,我将获得一个随机端口来连接到指定的远程主机。例如,登录后,我会得到端口 60994。然后,我在本地计算机上执行以下操作:

ssh localhost -p 60994 -l my_username

我连接到远程计算机。

现在,我正在该主机上开发一个 Web 应用程序,需要创建一个隧道来测试。 如果我想连接到远程主机上的端口 443,根据我所掌握的信息,如何创建一个 assh 隧道来执行此操作?

我已经尝试过了

ssh -L 60994:localhost:443 my_username@localhost -p 60994

但这行不通。我可以在远程主机上打开 shell,但是当我尝试转到 https://localhost:60994 时在浏览器中没有连接。

看来我想“穿过隧道”?我该怎么做?

最佳答案

您必须使用与建立 ssh 连接所用的端口不同的端口。

用途:

ssh -L 60995:IP_ADDRESS:443 my_username@localhost -p 60994 

其中IP_ADDRESS是运行HTTPS的机器的IP_ADDRESS

然后:

https://localhost:60995 

实际上,您正在做的事情是“穿过隧道的隧道”。

关于ssh - 如何穿过隧道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494350/

相关文章:

git - Azure DevOps - GIT SSH 身份验证 - 远程 : Public key authentication failed

linux - 通过 .ssh/config 中的 ssh-tunnel 创建端口转发

ssh-tunnel - 通过 ssh 隧道使用 postgres_fdw

java - JSch 多个隧道/跳跃站

amazon-web-services - 无法在 AWS lightail 实例中以新添加的用户身份登录

ssh - 如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH key ?

python - 使用多分支管道 Jenkinsfile 时构建环境中的 SSH key

ssh - 丢失 jupyter 笔记本 ssh 连接会杀死内核

c# - 通过安全连接使用 Redis

git - 无法将主机添加到已知主机列表 - 意外删除了我的 .ssh 文件夹中的所有文件