我需要在某个远程盒子上进行一些开发。幸运的是,我有 shell 访问权限,但我需要通过一个将 AllowTcpForwarding 设置为 false 的网关。
我在文档上达到了顶峰,它说:
AllowTcpForwarding 指定是否允许 TCP 转发。默认值为“是”。请注意,除非用户也被拒绝 shell 访问,否则禁用 TCP 转发不会提高安全性,因为他们始终可以安装自己的转发器。
我将如何安装(或构建)我自己的货运代理?我的目标是通过 SSH使用 Pycharm设置一个远程解释器,并将其绑定到某个本地端口,通过 ssh 提供数据,通过网关,然后到实际运行代码的开发箱。我想我可以以某种方式利用 nc 或其他一些 Unix 实用程序来帮助完成工作。
我知道我可以通过以下方式通过 ssh 连接到我的远程盒子:
ssh -t user1@gateway ssh user2@devbox
Run Code Online (Sandbox Code Playgroud)
但显然这个选项在 pycharm 中不可用。我必须能够打开一些本地端口,以便
ssh -p 12345 localhost
(or variant)
Run Code Online (Sandbox Code Playgroud)
将我连接到 user2@devbox。这将允许我配置远程解释器使用的端口12345上localhost连接到远程框。