Вот сценарий:
ssh +------------+
+---->| Server 2 |
+------------+ | +------------+
| Server 1 +---+
+------------+ | +------------+
+---->| Server 3 |
ssh +------------+
У меня есть доступ по SSH из Server 1
как для Server 2
и Server 3
(но не из Server 2
к Server 3
ни наоборот).
Я хочу передать довольно большой файл из 2
к 3
и хотел бы узнать, как это сделать быстрее всего, имея 1
выступая в качестве оркестратора.
ОБНОВИТЬ: У меня есть соединение между двумя серверами, но нет учетных данных SSH от / до серверов.
Вы можете использовать scp:
На сервере 1 сделайте что-то вроде этого:
scp user1@server2:/path/filename user3@server3:/path
Больше информации с man scp
.
вы можете выполнять передачу напрямую между двумя серверами:
на сервере, на который вы хотите выполнить передачу, запустите nc в режиме прослушивания на каком-то случайном порту:
ssh dst-server 'exec 1>/tmp/bah; nc -l -p 34001'
на сервере, с которого вы хотите загрузить, выполните передачу с помощью nc в режиме клиента. вы можете использовать сжатие, просто создайте канал gzip:
ssh source-server 'nc dst-server 34001 < ./bah'
вы найдете свой файл в / tmp / bah