通过SSH Tunnel访问EKS上部署的FusionAuth管理后台方案咨询
结论
完全可以通过搭建SSH隧道的方式实现本地笔记本直接访问FusionAuth管理后台,无需将服务暴露到公网,符合你的安全需求。
你当前的部署架构如下:
具体实现方案
你可以根据使用场景选择以下两种方案:
方案1:临时访问(推荐单次使用)
无需在堡垒机后台驻留进程,访问结束关闭终端即可自动释放所有资源,本地执行以下命令即可:
ssh -L 本地端口:localhost:堡垒机转发端口 堡垒机用户名@堡垒机公网地址 "kubectl port-forward svc/FusionAuth服务名 -n FusionAuth所在命名空间 堡垒机转发端口:FusionAuth服务端口"
举个实际示例(假设FusionAuth服务端口为9011,堡垒机用户为admin,公网IP为11.22.33.44,本地用9011端口访问):ssh -L 9011:localhost:9011 admin@11.22.33.44 "kubectl port-forward svc/fusionauth -n fusionauth 9011:9011"
命令执行成功后,直接在本地浏览器访问http://localhost:9011即可进入FusionAuth管理后台。
方案2:长期访问(适合频繁访问场景)
先在堡垒机后台常驻K8s端口转发进程,再配置本地后台SSH隧道,无需每次执行长命令:
- 登录堡垒机,后台启动端口转发进程:
nohup kubectl port-forward svc/fusionauth -n fusionauth 9011:9011 > /dev/null 2>&1 & - 本地执行命令启动后台SSH隧道:
ssh -fN -L 9011:localhost:9011 admin@11.22.33.44
配置完成后,本地随时可以访问http://localhost:9011使用管理后台。
注意事项
- 若本地端口被占用,可自行替换命令中第一个端口号为其他空闲端口,访问时对应修改端口即可
- 建议堡垒机配置SSH密钥免密登录,同时安全组仅放行你本地公网IP的22端口访问权限,进一步提升安全性
- 不需要使用时可手动杀掉对应进程释放资源:堡垒机上杀掉kubectl port-forward进程,本地杀掉SSH隧道进程即可
内容的提问来源于stack exchange,提问作者Luong To
相关产品推荐
相关产品推荐

