2011-04-04 5 views
1

У меня есть несколько маршрутизаторов cisco, настроенных с доступом по telnet, разрешенным из 5 указанных хостов. Теперь я хочу выполнить скрипт perl на одном хосте, который подключается через ssh к другим узлам и проверяет, возможно ли telnet для маршрутизатора. Я пробовал команду «ssh host» системы, но, к сожалению, без радости. Может ли кто-нибудь помочь мне, пожалуйста?Перл ssh подключение и выполнение telnet-подключения

Большое спасибо заранее.

Я пробовал следующее, но безуспешно. Некоторые идеи?


use Net::OpenSSH; 

$ssh = Net::OpenSSH->new("linuxserver", user => "username", password => "password", master_stderr_discard => 1); 
$command = "telnet routername"; 
@out = $ssh->capture({stdin_data => "routerpassword\n"}, $command); 

print "@out\n"; 


ответ

4

Вы можете использовать Net::SSH2 для подключения и направить подключение к маршрутизатору с помощью метода tcpip. В качестве альтернативы вы можете использовать Net::OpenSSH (который требует только двоичные файлы OpenSSH), чтобы сделать то же самое, см. Информацию на Tunnels.

+0

Извините, но я действительно новый для perl. У вас есть небольшой пример кода? – Stefan

+0

@Stefan: документация для обоих этих модулей показывает примеры того, как их использовать в верхней части. Просто нажмите ссылки. – CanSpice

+0

@ Каньби: Спасибо. – Stefan