1

Я могу выполнить передачу файлов через SSH * следующим образом:

ssh -T ${HOST} eval "cat > remote.txt" < local.txt

Однако, если я вместо этого выделю TTY, он зависнет, пока я не нажму Ctrl+C:

ssh -tt ${HOST} eval "cat > remote.txt" < local.txt

Вопрос: почему это? Есть ли обходной путь?

Лучшее, что я могу понять, это то, что локальный EOF не распространяется на удаленный процесс.

Сведения о платформе: OpenSSH_5.3p1, CentOS 6,7 x86_64


* В моем реальном случае я хочу использовать этот подход для передачи файлов непосредственно удаленному пользователю sudo; Я не могу использовать SCP, потому что я не могу использовать SSH как пользователя sudo. В файле sudoers в моей целевой среде установлено требование requiretty , отсюда и необходимость в TTY.

0