Используя SFTP с директивой SSH ForceCommand

Я настроил сервер SSH (назовите его group2.fqdn) с этим ForceCommand директива:

Match Group group1
       ForceCommand ssh -t group1.fqdn

Match Group="*,!local,!group2,!root"
       ForceCommand ssh -t group3.fqdn

Это повреждается sftp для пользователей не в group2. Как я могу изменить это так, чтобы sftp работы?

Таким образом: user1 из group1 делает:

sftp group2.fqdn

и они (возможно, имеющий необходимость ввести пароли дважды) затем на самом деле делают sftp кому: group1.fqdn. Это может быть сделано?


Контекст:
В нашей лаборатории у нас есть несколько серверов Ubuntu для каждой группы, но только одному предоставляют внешний доступ, таким образом, все группы должны были войти в сервер одной группы, и все кроме каждый затем вынужден к SSH в другой сервер. Мы раньше делали это с пользовательской оболочкой, но я пытаюсь использовать доступные параметры сервера вместо взломов. Пользовательский вариант оболочки не позволил SFTP, и это не делает также, но я хотел бы так или иначе заставить SFTP работать на все эти серверы.

2
задан 25 September 2014 в 04:25

1 ответ

Прием к получению работы SFTP должен передать команду SSH, полученную от клиента как есть к серверу. Я обнаружил это при проверении того, что происходит, когда Вы делаете scp или sftp для вопрос на Unix & Linux.

Теперь, моя конфигурация похожа:

Match Group group1
       ForceCommand /usr/local/bin/ssh_wrapper group1

Match Group="*,!local,!group2,!root"
       ForceCommand /usr/local/bin/ssh_wrapper group3

, Где /usr/local/bin/ssh_wrapper:

#! /bin/sh

/usr/bin/ssh -t -o StrictHostKeyChecking=no $USER@${1:-default}.fqdn $SSH_ORIGINAL_COMMAND

От нескольких быстрых тестов, sftp и scp хорошо работают с этой конфигурацией.

2
ответ дан 7 October 2019 в 01:29

Другие вопросы по тегам:

Похожие вопросы: