我正在尝试为用户建立一种连接到gateway server
SSH/SFTP 的方法(SFTP 优先,SSH 很好),并让该gateway
服务器将用户路由到我的网络内由用户名和私有主机标识的私有服务器他们想要达到。这必须是无缝的用户体验,即 - 没有特殊的配置文件设置,没有命令行会话的标志,并且在 Filezilla 等 UI 工具中没有特殊的设置。
到目前为止我所做的就是将此块添加到服务器sshd_config
中的文件中gateway
:
Match User someuser
ForceCommand sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server
Run Code Online (Sandbox Code Playgroud)
现在,当我从客户端计算机上执行此操作时,效果非常好:
ssh -i id_rsa someuser@gateway_server_machine
它将触发ForceCommand
并给我一个到机器的 SFTP 会话some_other_server
。
但
当我做sftp -i id_rsa someuser@gateway_server_machine
连接挂起并最终终止。
所以,即使有详细信息,sftp 也不会提供任何信息 - 只是挂在那里 - 但这是我从服务器端得到的:
debug1: subsystem: internal-sftp
Starting session: forced-command (config) 'sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server ' for someuser from 10.16.2.149 port 58822 id 0
Run Code Online (Sandbox Code Playgroud)
在 SSH 上我得到:
Starting session: forced-command (config) …
Run Code Online (Sandbox Code Playgroud)