V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zanx817
V2EX  ›  问与答

有用过 ssh -A 连接的朋友吗? 求操作过程

  •  
  •   zanx817 · 2022-04-01 15:49:50 +08:00 · 1416 次点击
    这是一个创建于 959 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近远程办公,导致必须连接公司内网后再连接服务器。经常要做这样的操作: 从家中主机 A 连接到公司自己的办公主机 B ,再从办公主机连接到服务器 C1 ,C2 , 等等。

    现在的需求是:从 A 出发使用 SSH 连接到服务器 C1 ,C2 ,如何操作配置项和操作都是最少的?

    查到了 ssh -A 这个命令,但没找到有用的文档。求助。

    目前是从 A ssh 连接到 B 后,再从 B 上发起 SSH 连接到 C1 ,C2 ,但这样隔了一层,比较慢也比较麻烦。 也考虑过复制 B 的私钥到 A 然后从 A 直接连接, 但不知使用 ssh -A 会更好。
    6 条回复    2022-04-02 06:42:00 +08:00
    zhanglintc
        1
    zhanglintc  
       2022-04-01 16:14:37 +08:00
    `ssh -A` 不是你想象中的这个效果。

    `ssh -A` 其实等效于 `ssh -o "ForwardAgent yes"`,就是开启 **SSH 代理转发**,大概就是说跳板机上不需要输入什么认证信息,可以直接用你本地的认证信息。

    - 如果你真的可以把 B 的私钥拷贝到 A 然后从 A 连接的话,那这么干最简单(但是我估计你们公司的网络不是这么设计的,你们那里暴露出来公网机器的只有 B 这台机器)
    - 如果你们只暴露了 B 这台公网机器,那就只能从 B 做跳板机跳转,没有办法。
    archean
        2
    archean  
       2022-04-01 20:12:33 +08:00
    关键字 proxyjump ,看看是否满足你需求。
    iloveayu
        3
    iloveayu  
       2022-04-01 21:55:18 +08:00 via iPhone
    在办公机 B 上,开两个端口映射,分别到 C1 和 C2 的 22 端口。
    wd
        4
    wd  
       2022-04-01 22:15:50 +08:00 via iPhone
    你可能需要 ssh -j A C1 吧
    Osk
        5
    Osk  
       2022-04-01 23:23:56 +08:00
    A -> B 之间隧道长连接, 挂后台藏着, 使用 ssh -D 动态隧道, 这个链接可以作为 A 到公司内网任意地址的 socks5 代理.
    然后 A 直接 连接 C, 但是参数中指定使用上一条中的代理隧道, 写到配置文件中, 几乎感觉不到 B 的存在, 只有当 ab 间的 ssh 断开了才有感觉.

    我一直这么用的
    hawhaw
        6
    hawhaw  
       2022-04-02 06:42:00 +08:00 via Android
    1, 本地 A 上要启动 ssh-agentd (貌似这么拼的)
    2, 用命令 ssh -j B C 这么连(如果你的 ssh 命令支持 -j 参数的话)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   975 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:35 · PVG 04:35 · LAX 12:35 · JFK 15:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.