5618ssh复习3
本文最后由方少年更新于2025 年 11 月 13 日,已超过18天没有更新。如果文章内容或图片资源失效,请留言反馈,将会及时处理,谢谢!
下面先给“最小动作清单:-L/-R/-D 三条命令 + 适用场景”,然后给 8 道只围绕 L/R/D 的单选练习题(不含答案,每题仅一个正确项,题末留有【】)。
最小动作清单:三条命令与适用场景
- 本地转发 -L(本机访问内网目标)
命令:ssh -L 13306:10.0.0.10:3306 user@jump
适用场景:你在本机连 127.0.0.1:13306,就像直连内网 10.0.0.10:3306 一样;适合“我想从本机访问内网服务”。 - 远端转发 -R(远端回连你的本地服务)
命令:ssh -R 18080:127.0.0.1:8080 user@jump
适用场景:在 jump 上连 localhost:18080,会回到你本机 127.0.0.1:8080;适合“让远端机器(如 jump)访问我本机的服务”。 - 动态转发 -D(本地开 SOCKS 代理)
命令:ssh -D 1080 user@jump
适用场景:本机应用将代理设为 SOCKS5 127.0.0.1:1080,可访问多主机多端口;适合“不确定目标主机/端口,走代理统一转发”。
练习题(仅单选,不给答案)
- 你想在本机通过 jump 访问内网 10.10.1.20:443,并在本机用 11443 端口连接,应该使用哪条命令?【A】
A. ssh -L 11443:10.10.1.20:443 user@jump
B. ssh -R 11443:10.10.1.20:443 user@jump
C. ssh -D 11443 user@jump
D. ssh user@10.10.1.20 -p 443 - 你要让 jump 主机能访问你本机的 127.0.0.1:5000(你本机运行的服务),选择哪条命令?【A】
A. ssh -R 15000:127.0.0.1:5000 user@jump
B. ssh -L 15000:127.0.0.1:5000 user@jump
C. ssh -D 15000 user@jump
D. ssh -R 127.0.0.1:15000:5000 user@jump - 你希望在浏览器里配置本机 SOCKS5 代理 127.0.0.1:1080,通过 jump 访问多台主机与端口,应该使用哪条命令?【A】
A. ssh -D 1080 user@jump
B. ssh -L 1080:10.0.2.5:80 user@jump
C. ssh -R 1080:10.0.2.5:80 user@jump
D. ssh -L 127.0.0.1:1080:127.0.0.1:1080 user@jump - 你要在本机以 19200 端口访问仅能从 jump 访问的内网 Elasticsearch 172.18.1.15:9200,选哪条命令?【A】
A. ssh -L 19200:172.18.1.15:9200 user@jump
B. ssh -R 19200:172.18.1.15:9200 user@jump
C. ssh -D 19200 user@jump
D. ssh -L 9200:172.18.1.15:19200 user@jump - 你的代码跑在 jump,需要访问你本机的 127.0.0.1:3000 测试接口;希望在 jump 上连 localhost:13000 即可命中你本机服务,选哪条命令?【A】
A. ssh -R 13000:127.0.0.1:3000 user@jump
B. ssh -L 13000:127.0.0.1:3000 user@jump
C. ssh -D 13000 user@jump
D. ssh -L 127.0.0.1:3000:13000 user@jump - 你不清楚目标网具体有哪些主机和端口要访问,想先开一个本地代理 1081 让多种工具复用,选哪条命令?【A】
A. ssh -D 1081 user@jump
B. ssh -L 1081:10.0.0.1:1081 user@jump
C. ssh -R 1081:10.0.0.1:1081 user@jump
D. ssh -L 127.0.0.1:1081:127.0.0.1:80 user@jump - 你希望在本机以 18080 访问 jump 上仅本地可见的服务 127.0.0.1:8080,应该使用哪条命令?【A】
A. ssh -L 18080:127.0.0.1:8080 user@jump
B. ssh -R 18080:127.0.0.1:8080 user@jump
C. ssh -D 18080 user@jump
D. ssh user@jump -p 8080 - 你想让 jump 上的同事在 jump 上访问 localhost:2525,从而命中你本机的 127.0.0.1:25(本地 SMTP),该用哪条命令?【A】
A. ssh -R 2525:127.0.0.1:25 user@jump
B. ssh -L 2525:127.0.0.1:25 user@jump
C. ssh -D 2525 user@jump
D. ssh -L 127.0.0.1:25:2525 user@jump
需要答案和解析时告诉我,我再逐题给出“正确流向 + 一句理由”。
确实,这一组题的正确答案都恰好是 A。你本次作答 8/8 全对,做得很稳。
逐题一句话理由
- -L:在本地监听 11443,经 jump 去连 10.10.1.20:443;-R 方向相反,-D 是 SOCKS,D 直接连错对象。
- -R:让远端(jump)能连回你本地 127.0.0.1:5000;-L 是从你本地去连远端;D 语法不完整且方向错。
- -D:提供本地 SOCKS5 代理 1080 供浏览器使用;-L/-R 是定向端口转发,不适合作为通用代理。
- -L:在本地开 19200,经 jump 访问内网 172.18.1.15:9200;-R 和 -D 都不匹配需求。
- -R:远端(jump)上连 localhost:13000 回到你本机 127.0.0.1:3000;-L 方向不对。
- -D:先开本地通用代理 1081,方便多工具复用;-L/-R 都需要预先知道目标。
- -L:本地 18080 → 远端(jump)去连 127.0.0.1:8080;注意 -L 中的目标主机端口是由远端解析的,正好命中 jump 本地服务。
- -R:在 jump 上开放 2525 回连你本机 127.0.0.1:25;-L/-D 不符合“让 jump 上的人来访问你本地”的方向。
如果你想避免“正确项都在 A”的视觉偏差,我可以把选项顺序随机化再给你一版,或再出一套同难度但正确项分布更均匀的题。
~ ~ The End ~ ~
文章标题:5618ssh复习3
文章链接:https://www.fangshaonian.cn/archives/133/
最后编辑:2025 年 11 月 13 日 02:34 By 方少年
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)