Как я могу listdir в ситуации с несколькими переходами 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.
Вот сетевое сопоставление: (https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2017/11/15/NM_diagram_061316_a1.png)
Извините, что у меня недостаточно репутации, чтобы добавить изображение в сообщение.