Назад | Перейти на главную страницу

Лучший способ передавать файлы с одного сервера на другой, используя третий сервер

Вот сценарий:

                   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