bash - SSH隧道复杂问题

对于一个编程项目,我必须做一些奇怪的设置。现在,首先,我在两台服务器上都有 root 权限,我认为 ssh 隧道是最好的方法(如果你有更好的想法,请随时告诉我)

我必须编写一个在 IRC 服务器上运行的软件。这并不难,但 IRC 服务器只能在 localhost 上访问。所以我必须先 ssh 到盒子,然后使用 irssi 或类似的东西连接到 localhost:6667

现在我尝试从第二台服务器(我一直在运行 irssi)做一个 ssh-tunnel,然后通过隧道连接到服务器并使用 localhost,例如:

ssh -f user@server2 -L 2000:server2:6667 -N  

现在,当我使用 irssi 连接到 localhost:2000 时,这并没有按预期工作。我不明白为什么,你有什么提示吗?如果你能帮助我,我会很高兴。

问候

最佳答案

请记住,您隧道到的那个地址(在您的情况下为 server2:6667)是从目的地的角度来看的。例如:我有一个安装了 ssh 的 VPS。如果我这样做 ssh -f user@vps -L 2000:localhost:3306我可以连接到它上面运行的 MySql 服务器(它只在环回接口(interface)上监听)。

所以假设 IRC 服务器在 server2 上运行,你应该这样做:

you@server1:~$ ssh -f you@server2 -L 2000:localhost:6667 -N

然后,您可以使用您的 IRC 客户端连接到 localhost:2000(在 server1 上)并连接到在 server2 上运行的 IRC 服务器。

https://stackoverflow.com/questions/5823759/

相关文章:

grails - 将视频文件转换为.flv格式

grails - 为Grails安装Nimble

grails - 访问 Grails 全局变量时是否需要使用互斥锁?

unit-testing - 基于 Spock 交互的测试 : too few invocation

grails - 如何在Grails(2.5.5)中自动在前面带有多个大写字母的服务接线

colors - 在 ssh 之前导出 TERM

grails - 查找第一个匹配项-DomainClass.findAll()[0]的替代方法

pdf - 生成的pdf中的文本是反向的

svn - 通过SSH的svn diff-结果与Trac不同吗?

grails - repo.grails.org - 证书过期