2014-09-30 3 views
1
  telnet 
server ←————→ device 
    ↑ 
    | SSH 
    ↓ 
localhost (me)

У меня есть устройство, подключенное к одному серверному компьютеру, и я хочу поговорить с устройством ssh'ing на серверный компьютер и отправить команды telnet на свое устройство. Как настроить вещи на Python, чтобы это произошло?Как запустить telnet через ssh в python

ответ

2

Пакет Python paramiko можно запустить на сервере через ssh. Затем эта программа будет получать команды (возможно, через stdin) и возвращать результаты (через stdout) из управляющей программы. Поэтому в основном вы будете использовать paramiko.SSHClient для подключения к серверу и запуска второй программы Python, которая сама использует, например. telnetlib, чтобы поговорить с устройством.

+0

Где эта вторая программа python должна быть физически расположена? на сервере или моем локальном хосте? –

+0

На сервере в основном, но вы можете использовать paramiko для загрузки его на сервер (через SFTP) перед запуском. –

+0

Это именно то, что я делаю прямо сейчас. Но я хочу отправить и получить команды telnet на устройство с моего локального компьютера «я» и оставить серверный компьютер так же, как ретрансляционные команды telnet. –

0

Использование туннелирования путем создания SSH сессии, что туннели в Telnet трафик: Так SSH из «локальный» на «сервер» с опцией -L ххх: deviceip: 23 (ххх свободный порт на локальном хосте, deviceip это IP-адрес «устройства», 23 - порт telnet).

Чем открыть сеанс telnet на вашем локальном хосте на localhost: xxx. SSH будет туннелировать его на устройство, и ответ отправляется обратно вам.

Смежные вопросы