有办法用 SSH 给跳板机后的机器做端口映射吗?

2017-09-08 17:32:22 +08:00
 xi_lin

有台测试的机器通过跳板机可以进行 ssh 登录

有办法在本地给远程这台测试机做一个端口映射吗?

8067 次点击
所在节点    Linux
35 条回复
wizardoz
2017-09-09 14:03:13 +08:00
不知道这个跳板机是什么玩法,我一般是两种方式
1:
ssh -L 10022:host_c:22 user@host_b
然后:
ssh -p 10022 user@localhost

2:
打开 ForwardAgent
然后 ssh user@host_b 'ssh user@host_c'
xi_lin
2017-09-09 21:57:43 +08:00
@johnlui nginx 反代应该是别的话题?
xi_lin
2017-09-09 21:59:32 +08:00
@cxbig 感谢回复,C 的认证信息是存在 B 上的,我这 A 上没有认证信息
xi_lin
2017-09-09 22:30:10 +08:00
@wizardoz
方法 1 不行,见我 append 的信息

方法 2 试了下,-vvv 里看到到 hostB 的认证是没问题的,但是再执行下一个 command 的时候过不去

debug3: send packet: type 50
debug3: receive packet: type 52
debug1: Authentication succeeded (publickey).
Authenticated to xxx.xx.xx.xx ([xxx.xx.xx.xx]:22). #hostB
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
debug3: receive packet: type 91
debug2: callback start
debug1: Requesting authentication agent forwarding.
debug2: channel 0: request auth-agent-req@openssh.com confirm 0
debug3: send packet: type 98
debug2: fd 3 setting TCP_NODELAY
debug3: ssh_packet_set_tos: set IP_TOS 0x08
debug2: client_session2_setup: id 0
debug1: Sending command: ssh hostC
debug2: channel 0: request exec confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
xi_lin
2017-09-09 22:32:11 +08:00
@nadoo 这个看起来有点像 ngrok 一样在 C 上开第三方服务做中转了
xi_lin
2017-09-09 22:32:44 +08:00
@ryd994 嗯,是联网的。能不走第三方最好了。。。
pynix
2017-09-09 23:49:22 +08:00
@wizardoz 需要-t
pynix
2017-09-09 23:50:03 +08:00
@xi_lin ngrok 被扫描很烦。。。。
cxbig
2017-09-10 02:45:03 +08:00
@xi_lin 什么样的登录方式?说的不是很清楚。如果是 ssh-key 的话:
1. 把 B 上的私钥下载到 A 本地来,按我上面写的,在本地配置 B 到 C 的登录
2. 用间接登录的方式把 A 本地自己的公钥加到 C 的$HOME/.ssh/authorized_keys 里,在本地用同一个私钥来配置 B 到 C
xi_lin
2017-09-10 11:25:16 +08:00
@cxbig B 和 C 都是运维配置的,我也不是很清楚具体的登录方式,目前从 A 登上 B 之后会有一个选择菜单出现,选完后连上 C,猜测是 B 到 C 上有配置好相应的 KEY。B/C 我都没有权限干你提到的 1 和 2 这两件事。。。
xi_lin
2017-09-10 11:25:44 +08:00
@pynix 被扫到会怎么样?我没用过 ngrok
Harpsichord
2019-11-08 22:42:06 +08:00
@xi_lin 请问找到解决方案了吗。。我也遇到这个问题了
xi_lin
2019-11-11 18:55:32 +08:00
@Harpsichord 木有。。
zinfinb
2020-05-14 20:36:34 +08:00
@xi_lin 楼主找到解决方案了吗 我也遇到这个问题了
xi_lin
2020-05-15 22:19:12 +08:00
@zinfinb 放弃了。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/389256

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX