我在下面编写了Shell脚本,它的目的是通过执行SSH和执行命令从远程主机获取模型名。
#!/bin/bash
> output.csv
IFS=","
echo "IP,Model Name" >> output.csv
while read ip
do
#echo "Current IP is: $ip"
model=expect -c 'spawn ssh username@'"$ip"' "show version | in cisco
我是perl.I新手,我尝试登录到cisco路由器来执行一些命令。我能够使用登录并执行几个命令。但是,当我试图切换到配置模式时,脚本失败了。
br-waas#
br-waas#configure
br-waas(config)#
有没有perl cpan模块可以做到这一点?
use Net::SSH::Perl;
my $host = "XX.XX.XX.XX";
my $user = "XXXX";
my $password = "XXXX";
my $ssh = Net::SSH::Perl->new($host);
$ssh
情况是这样的:
我把adsl调制解调器连接到第一个路由器A-本地IP 192.168.2.1
我将SSH端口转发给第二路由器"B“- IP 192.168.1.1
路由器"B“I将SSH端口转发给机器- 192.168.1.100
它可以工作,我可以远程登录到我的SSH服务器,但问题是当我检查SSH日志时,所有的登录尝试IP地址都是本地的。例如:
Mar 28 13:09:12 myserver sshd[14956]: Failed password for invalid user admin from 192.168.2.1 port 44341 ssh2
当我转发htt
我在"devices_list“中有cisoc_ios路由器、fortinet防火墙和HP交换机,但当我运行此代码时,当它命中fortinet防火墙时,它不会给出错误,因为它不是cisco_ios并尝试登录。登录后,它会给出错误,因为它不能进入配置模式(很明显)。所以我需要改进下面的代码,这样当fortinet或hp设备出现时,代码就会抛出错误,而不是试图登录,它应该继续下去,直到所有设备都尝试过了。 from getpass import getpass
from netmiko import ConnectHandler
from netmiko.ssh_
我们希望测量在ssh成功登录到远程计算机之前所需的时间。
是否可以测量ssh时间直到登录到远程计算机?
注-所有机器都是RHEL机器。
例如
让我们假设我们想要验证从machine_X登录machine_Y需要多长时间
来自machine_Y的示例
而machine_X is machine_[1..100]
ssh time until login to machine1 was 2 sec
ssh time until login to machine2 was 6 sec
ssh time until login to machine3 was 12 sec
ssh time until
我必须从我使用Net:: SSH ::Perl登录的远程机器执行SSH,即在下面的代码中传递给$ssh->cmd的'cmd‘是另一个SSH(比如username@hostname)。有没有办法传递第二个SSH的密码,然后在第二个远程机器上执行命令。此外,我不能使用ssh密钥对登录或sshpass之类的工具。有人能帮帮忙吗?
use Net::SSH::Perl;
my $hostname = "hostname";
my $username = "username";
my $password = "passwor
我想创建一个脚本,自动登录到远程服务器,并抓取服务器上的一个文件。该脚本已经登录到服务器,但是命令并未在该计算机上运行。一旦我断开与远程服务器的连接,这些命令就会在客户机上运行。
!/bin/sh
ssh -o PreferredAuthentications=publickey brjones@server.com
cd ~/folder
"i would like to grab file and copy it to client machines folder"
编辑:我不确定您是否注意到了,但是我使用ssh和密钥生成来无密码地连接到远程服务器。我很欣赏这些想法,但我正