我有以下使用netmiko
def main():
timestamp = datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
print(timestamp)
net_connect = ConnectHandler(device_type='paloalto_panos', ip='nodeip', username='admin', password='password')
net_connect.find_prompt()
net_connect.send_config_set('save config to config' + timestamp + '.xml')
# output = net_connect.send_command('configure')
# print(output)
# output = net_connect.send_command('save config to config' + timestamp + '.xml')
# print(output)
# output = net_connect.send_command('exit')
# print(output)
output = net_connect.send_command('tftp export configuration from config' + timestamp + '.xml' + 'to 10.1.1.1')
print(output)
main()
脚本连接正常,但在net_connect.send_config_set命令期间“挂起”。
我也尝试发送“configure”命令,然后以相同的结果“退出”。然后我记得在配置模式下它需要一个不同的提示,所以我使用了“send_config_set”方法。 超时后,脚本返回:
赛道(最近一次呼叫最后一次): 文件“”,第1行,in net_connect.send_config_set('将配置保存到配置'+时间戳+'。xml') 在send_config_set中输入文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/netmiko/base_connection.py”,第921行 output + = self.exit_config_mode() 在exit_config_mode中输入文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/netmiko/paloalto/paloalto_panos_ssh.py”,第48行 output = self.send_command(exit_config,strip_prompt = False,strip_command = False) 在send_command中输入文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/netmiko/paloalto/paloalto_panos_ssh.py”,第154行 return super(PaloAltoPanosSSH,self).send_command(* args,** kwargs) 在send_command中输入文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/netmiko/base_connection.py”,第770行 search_pattern)) OSError:在send_command_expect中从未检测到搜索模式:admin \ @ PA-200#
答案 0 :(得分:0)
send_config_set()
期待Python命令列表,而不是单个字符串。该命令正在进入配置模式,并将命令字符串中的每个字符作为单独的命令发送。
请尝试这样:
net_connect.send_config_set(['save config to config' + timestamp + '.xml'])
请注意,此答案仅适用于较早版本的Netmiko。当前版本正确解释了str输入,而不是需要列表。