需求是这样的,有一台公网服务器(下称 A ),A 服务器 SSH 端口是正常的 22 ,日常维护即使用 22 登陆;
现在 A 服务器新建账户,如 V2EX ,在起 authorized_keys 中添加公钥;
另有一个服务器(下称 B ),无公网 IP ,与 A 内网互通;
需实现 SSH 级代理,使 A 和 B 共用 A 上的 22 端口,通过 V2EX 认证时,自动代理到 B 服务器(并执行 B 服务器上 authorized_keys 中指定的程序),通过其他用户名认证时,正常登陆到 A 服务器;
大概如图所示,求问大佬们如何实现此类代理:
1
ljpCN 2022-09-02 13:59:23 +08:00
换个思路,用不同的域名区分目标机器,所有的域名解析到 A ,A 上面跑一个 nginx 根据域名转发到不同的机器。
|
3
eason1874 2022-09-02 14:04:57 +08:00
修改服务器的 sshd_config
Match User v2ex ForceCommand "这里写登录内网机器命令,应该可以吧" |
4
LxnChan 2022-09-02 14:47:30 +08:00
我经历过一个本质上差不多的过程,应该可以参考一下
https://lxnchan.cn/git-operas.html#%E5%8D%95%E6%9C%BA%E5%A4%9AGithub%E8%B4%A6%E5%8F%B7 |