Запустить загруженную программу с использованием туннелирования ssh

Традиционно проблемы интерактивного пароля решаются с помощью команды expect, которая создает промежуточный псевдо-tty для общения с процессом. Вот альтернативная версия на языке python, использующая эквивалентный пакет python-pexpect. Создайте python-файл run.py:

import sys,pexpect
(pw,cmd) = sys.argv[1:]
child = pexpect.spawn(cmd)
child.expect(r'(?i)Password:')
child.sendline(pw)
print child.read()

и запустите его с паролем и командой для запуска в качестве параметров:

python run.py  'qwerty' 'ssh -t -o ControlPath=$SSHSOCKET ${K3_USER}@${IP} -p ${PORT} "su -c whoami && hostname"'
-1
30.01.2018, 14:59
0 ответов

Теги

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