Простое окно туннелирования / перехода SFTP

попробуйте

 printf "SENTENCIA : %s \n" "$sentencia"

с кавычками.

При использовании без кавычек

printf "SENTENCIA : %s \n" $sentencia;

заменяется на (я опускаю ; )

printf "SENTENCIA : %s \n" select 1 from dual

, поскольку существует только один шаблон печати (например,% s) printf вызывается многократно.

printf "SENTENCIA : %s \n" select 
printf "SENTENCIA : %s \n" 1 
printf "SENTENCIA : %s \n" from 
printf "SENTENCIA : %s \n" dual
3
03.04.2019, 15:18
1 ответ
ForceCommand sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server

Приведенное выше действие запустит SFTP клиент на промежуточном сервере с его текстовым интерфейсом. Ваш локальный SFTP-клиент(sftpили любой другой )не может общаться с этим. Требуется двоичный SFTP протокол . Это также объясняет, почему sshработает как клиент sftp. Но это не так. Он просто передает текстовый интерфейс клиента sftpна промежуточный сервер.


Вам нужно что-то вроде:

ForceCommand ssh -s sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server

Это заставляет (самый )удаленный сервер запускать SFTP сервер(-s sftp)и промежуточный сервер для передачи двоичного протокола SFTP туда и обратно(sshпросто передает двоичный файл ввод/вывод удаленного sftp-server, так же, как в вашей настройке локальный sshпередает текстовый ввод/вывод промежуточногоsftp).


Но если вам нужны и SFTP, и SSH, вам нужно будет использовать директивуSubsystemдля SFTP, а неForceCommand:

Subsystem sftp ssh -s sftp -i /home/someuser/.ssh/id_rsa someuser@some_other_server

Или, чтобы не повторять туннелирование отдельно для SSH и SFTP, вы можете использовать переменную среды SSH_ORIGINAL_COMMAND, чтобы решить, следует ли использовать -s sftpили нет.

Если вы действительно знаете, что (самый )удаленный SFTP-сервер также имеет OpenSSH и тот же путь к двоичному файлу sftp-server, что и промежуточный сервер,это должно охватывать как SSH, так и SFTP:

ForceCommand ssh -i /home/someuser/.ssh/id_rsa someuser@some_other_server $SSH_ORIGINAL_COMMAND
1
27.01.2020, 21:29

Теги

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