如何将本地转发设置添加到我的 ssh 配置文件?

如何将本地转发设置添加到我的 ssh 配置文件?

我目前可以这样做:

ssh 12.34.56.78 -L 8888:localhost:8000

然后我可以打开本地浏览器访问 localhost:8888 并看到应用程序在 12.34.56.78:8000 的服务器上运行。

我想避免输入那个转发命令,而是将该配置放在我的 ssh 配置文件中。

目前我有这个:

Host myhost
    User myuser
    Hostname 12.34.56.78
    IdentityFile ~/.ssh/id_rsa
    LocalForward 8888 12.34.56.78:8000

我以为它会以相同的方式工作,但是当我myhost像平常一样 ssh 进入,然后尝试打开浏览器到 localhost:8888 时,我再也看不到应用程序正在运行,并且在 myhost 控制台中收到以下消息:

channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 4: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

我想我可以添加一个别名来运行 ssh 命令并完成它,但我希望在我的配置文件中正确设置它,并且,如果能够看到我的应用程序在我的浏览器中运行而不必 ssh 进入我的主机就可以实现这将是一个巨大的优势。

有人可以帮忙吗?

答案1

ssh_config 文件的语法是正确的 - 所以错误肯定在其他地方。有效的命令行是:

ssh 12.34.56.78 -L 8888:localhost:8000

但在LocalForward指令中,您使用了“真实”IP 地址。显然,应用程序只是监听了 localhost - 要么更改应用程序中的监听接口,要么调整 ssh_config 文件以使用 localhost。

答案2

我认为您对命令和配置的定义不同。在命令中,您使用的是本地主机并在配置中,IP 地址(12.34.56.78)这应该对你有用:

Host myhost
    User myuser
    Hostname 12.34.56.78
    IdentityFile ~/.ssh/id_rsa
    LocalForward 8888 127.0.0.1:8000

或者您可以尝试更换127.0.0.1本地主机,我想它也应该有效。

相关内容