Cat7373
V2EX  ›  问与答

怎样能做一个 SSH 区分账户的代理?

  •  
  •   Cat7373 · Sep 2, 2022 · 1291 views
    This topic created in 1439 days ago, the information mentioned may be changed or developed.

    需求是这样的,有一台公网服务器(下称 A ),A 服务器 SSH 端口是正常的 22 ,日常维护即使用 22 登陆;

    现在 A 服务器新建账户,如 V2EX ,在起 authorized_keys 中添加公钥;

    另有一个服务器(下称 B ),无公网 IP ,与 A 内网互通;

    需实现 SSH 级代理,使 A 和 B 共用 A 上的 22 端口,通过 V2EX 认证时,自动代理到 B 服务器(并执行 B 服务器上 authorized_keys 中指定的程序),通过其他用户名认证时,正常登陆到 A 服务器;

    大概如图所示,求问大佬们如何实现此类代理:

    4 replies    2022-09-02 14:47:30 +08:00
    ljpCN
        1
    ljpCN  
       Sep 2, 2022
    换个思路,用不同的域名区分目标机器,所有的域名解析到 A ,A 上面跑一个 nginx 根据域名转发到不同的机器。
    Cat7373
        2
    Cat7373  
    OP
       Sep 2, 2022 via iPhone
    @ljpCN #1 可要处理的是 ssh 请求,不是 http ,而且 22 端口不能换
    eason1874
        3
    eason1874  
       Sep 2, 2022
    修改服务器的 sshd_config

    Match User v2ex
    ForceCommand "这里写登录内网机器命令,应该可以吧"
    LxnChan
        4
    LxnChan  
       Sep 2, 2022
    我经历过一个本质上差不多的过程,应该可以参考一下

    https://lxnchan.cn/git-operas.html#%E5%8D%95%E6%9C%BA%E5%A4%9AGithub%E8%B4%A6%E5%8F%B7
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2698 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:31 · PVG 23:31 · LAX 08:31 · JFK 11:31
    ♥ Do have faith in what you're doing.