Я пытаюсь настроить способ для пользователей подключаться к одному и тому же "шлюзовому серверу" для SSH/SFTP (SFTP в приоритете, SSH неплохо иметь) и сделать так, чтобы этот "шлюзовой" сервер направлял пользователей на частные серверы внутри моей сети, идентифицируемые по имени пользователя и частному хосту, к которому они хотят получить доступ. Это должно быть бесшовным пользовательским интерфейсом, то есть - без специальной настройки файла конфигурации, без флагов для сеансов командной строки и без специальных настроек в инструментах пользовательского интерфейса, таких как FileZilla.
На данный момент мне удалось добавить этот блок в мой 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
соединение зависает и в конечном итоге прерывается.
Мне нужна помощь, чтобы разобраться, что я делаю не так, или есть ли лучший способ предоставить такое соединение моим пользователям.