我在python中使用'paramiko'在一个盒子上运行命令SSH.如何使用paramiko日志记录?我的意思是强制它生成日志(在文件或终端中)并设置日志级别.
我有这种情况:
本地主机--------- jump-host ------- target-machine
我正在尝试使用Paramiko在Python中编写代码,首先从本地主机SSH跳转到主机,然后从跳转主机SSH到目标机器.从目标机器,我想捕获一些输出并将它们作为变量或文件存储在本地(尚未到达那一点).我在Stack Overflow中找到了一个例子,他们谈到了使用嵌套式SSH与Paramiko,我遵循它但是我被困在这里:
我的代码:
enter code here
#!/usr/bin/python
#
# Paramiko
#
import paramiko
import sys
import subprocess
#
# we instantiate a new object referencing paramiko's SSHClient class
#
vm=paramiko.SSHClient()
vm.set_missing_host_key_policy(paramiko.AutoAddPolicy())
vm.connect('192.168.115.103',username='osmanl',password='xxxxxx')
#
vmtransport = vm.get_transport()
dest_addr = ('192.168.115.103', 22)
local_addr = ('127.0.0.1', 22)
vmchannel = vmtransport.open_channel("direct-tcpip", dest_addr, local_addr)
#
jhost=paramiko.SSHClient()
jhost.set_missing_host_key_policy(paramiko.AutoAddPolicy())
jhost.load_host_keys('/home/osmanl/.ssh/known_hosts')
jhost.connect('10.103.53.26', username='latiu', password='xxxx', sock=vmchannel)
#
stdin, stdout, stderr = rtr.exec_command("show version | no-more")
#
print stdout.readline()
#
jhost.close()
vm.close()
# End
Run Code Online (Sandbox Code Playgroud)
当我运行上面的操作时,我收到此错误: …