我正在嘗試設定一種方式,讓用戶連接到 SSH/SFTP 的同一「網關伺服器」(SFTP 優先,SSH 很好),並讓該「網關」伺服器將用戶路由到我的網路內的專用伺服器通過用戶名和他們想要存取的私有主機來識別。這必須是無縫的用戶體驗,即 - 沒有特殊的配置文件設置,沒有命令列會話的標誌,並且在 FileZilla 等 UI 工具中沒有特殊的設置。
到目前為止我所做的就是將此區塊添加到伺服器sshd_config
中的檔案gateway
:
Match User someuser
ForceCommand sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server
現在,當我從客戶端電腦上執行此操作時,效果非常好:
ssh -i id_rsa someuser@gateway_server_machine
它將觸發ForceCommand
並為我提供與電腦的 SFTP 會話some_other_server
。
但是,當我這樣做時
sftp -i id_rsa someuser@gateway_server_machine
連接掛起並最終終止。
我需要幫助弄清楚我在這裡做錯了什麼,或者是否有更好的方法來為我的用戶提供這種連接。