有台服务器 A,如果用用户 A1 登录,就将 SSH 转发到 B 服务器上,如果用 A2 登录,则不用转发,可以实现这个功能吗?
主要需求是原因是目前的 gitlab,没用自带的 nginx,自己安装的,现在准备把其他服务器上的 nginx 都提出来,转发放个反代服务器上面,但是这样出现个问题,就是 gitlab 的网页没问题,但是 ssh 方式就会登录到反代服务器上面
1
ETiV 2018-07-06 14:03:13 +08:00 via iPhone
在 authorized_key 的 command 参数上做文章?
|
2
wps353 2018-07-06 14:19:23 +08:00
|
3
feather12315 2018-07-06 14:20:19 +08:00 via Android
ssh 执行的第一个命令默认是`/bin/bash`,这个实在`/etc/passwd`还是`/etc/shadow` 中,尝试修改这个命令试试?
|
4
helllkz OP 想了下貌似不行,现在是通过 Key 登录的,A 服务器上根本就没有用户的 Key,自然就没法转发到 B 服务器上了,如果用 Nginx 的 Stream 转发,那又会把所有 SSH 都转发了,感觉这个需求没法实现
|
5
liuhaotian 2018-07-06 16:20:28 +08:00
反代服务器的 SSH 端口改掉,22 端口转发,不就行了?
|
6
helllkz OP @liuhaotian
谢谢,目前确实可以用这种方式解决,如果下次还有个什么应用必须要用 22 端口就没办法了 |