Python 多跳 SSH 中的 Paramiko listdir
Python Paramiko listdir in multi-hopped SSH
如何在多跳 ssh 情况下列出目录?或者有其他方法可以获取我的目标文件?
def file_lookup():
for file in os.listdir('/var/log/rsyslog/firewall-a/'):
if fnmatch.fnmatch(file, 'syslog-'+date+'-\d{10}\.gz'):
global log_file
log_file = file
def copy_from_log_server_to_bastion():
ssh_client = paramiko.SSHClient()
ssh_client.load_host_keys('/home/vagrant/.ssh/known_hosts/')
ssh_client.connect(bastion_ip, bastion_port, username, password)
stdin, stdout, stderr = ssh_client.exec_command('scp ' + username + '@' + log_server_ip + ':' + logs_directory + log_file + ' ./')
stdin.write(password)
def copy_from_bastion_to_local():
# some codes here
我希望我的脚本从远程服务器复制文件 -> 堡垒主机 -> 本地,但我遇到了这个多跳 ssh 的问题。
抱歉,我的信誉不足,无法在 post 中附加图像。
我把我的第二个功能代码修改成这个,第三个功能是不必要的,现在可以了:
def copy_from_log_server_to_local(log_client):
os.mkdir('/vagrant/Logs/' + datetime.today().strftime('%m%d'))
scp_client = SCPClient(log_client.get_transport())
scp_client.get('/var/log/rsyslog/firewall-a/'+log_file, '/vagrant/Logs/' + datetime.today().strftime('%m%d') + '/')
scp_client.close()
log_client
我的堡垒主机打开了频道
如何在多跳 ssh 情况下列出目录?或者有其他方法可以获取我的目标文件?
def file_lookup():
for file in os.listdir('/var/log/rsyslog/firewall-a/'):
if fnmatch.fnmatch(file, 'syslog-'+date+'-\d{10}\.gz'):
global log_file
log_file = file
def copy_from_log_server_to_bastion():
ssh_client = paramiko.SSHClient()
ssh_client.load_host_keys('/home/vagrant/.ssh/known_hosts/')
ssh_client.connect(bastion_ip, bastion_port, username, password)
stdin, stdout, stderr = ssh_client.exec_command('scp ' + username + '@' + log_server_ip + ':' + logs_directory + log_file + ' ./')
stdin.write(password)
def copy_from_bastion_to_local():
# some codes here
我希望我的脚本从远程服务器复制文件 -> 堡垒主机 -> 本地,但我遇到了这个多跳 ssh 的问题。
抱歉,我的信誉不足,无法在 post 中附加图像。
我把我的第二个功能代码修改成这个,第三个功能是不必要的,现在可以了:
def copy_from_log_server_to_local(log_client):
os.mkdir('/vagrant/Logs/' + datetime.today().strftime('%m%d'))
scp_client = SCPClient(log_client.get_transport())
scp_client.get('/var/log/rsyslog/firewall-a/'+log_file, '/vagrant/Logs/' + datetime.today().strftime('%m%d') + '/')
scp_client.close()
log_client
我的堡垒主机打开了频道