我有多个配置有从5个指定主机进行的telnet访问的cisco路由器。现在,我想在一台主机上执行perl脚本,该主机通过ssh连接到另一台主机,并检查是否可以将telnet连接到路由器。
我尝试了系统“ssh host”命令,但不幸的是没有任何乐趣。有人可以帮我吗?
提前谢谢了。
我尝试了以下方法,但没有成功。有什么想法吗?
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";
最佳答案
您可以使用Net::SSH2使用tcpip方法连接并将连接转发到路由器。或者,您可以使用Net::OpenSSH(仅需要OpenSSH二进制文件)执行相同操作,请参阅Tunnels上的信息。
关于perl - Perl ssh连接并执行telnet连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539684/