Передача файлов по частной сети (парольная аутентификация)

Сегодня многие хостинг-провайдеры предлагают функции частной сети. Частная сеть создает второй сетевой интерфейс, недоступный в Интернете, который может использоваться для связи с другими серверами в рамках одного ЦОД. Частная сеть необходима, если вы хотите безопасно передавать данные между серверами или сократить использование исходящей полосы пропускания.

В этом мануале вы узнаете, как передавать файлы между серверами, использующими парольную аутентификацию. Для повышения безопасности вместо паролей настоятельно рекомендуется использовать SSH-ключи. Подробнее о них вы можете узнать в мануале Как настроить SSH-ключи, а затем вы можете научиться работать с подключениями, которые используют аутентификацию на основе ключей, в мануале Передача файлов по частной сети (аутентификация на основе SSH-ключей).

Требования

Если вы работаете со свежими серверами, после создания каждого сервера вам нужно войти в систему и поменять root-пароль. Пароль root необходимо сбросить при первом входе в систему, без этого вам не удастся передать файлы.

1: Создание тестового файла

В мануале серверы условно называются Server-01 и Server-02. Укажите IP-адрес своего сервера в нижеприведенной команде.

Начнем с первого сервера.

ssh root@IP_of_Server-01

Затем нужно использовать команду echo для того, чтобы создать какой-то контент и направить его в новый файл test.txt:

echo "Private networking test" > ~/test.txt

Далее нужно передать этот файл на второй сервер с помощью Rsync.

Читайте также: Как копировать файлы при помощи Rsync через SSH

2: Передача файлов по частной сети

Когда команды, такие как ping или rsync, отправляются на внешний IP-адрес, трафик автоматически маршрутизирует по публичной сети. Однако если команды отправляются на внутренний IP-адрес в частной сети, трафик остается в этой частной сети.

Используйте rsync для передачи тестового файла, который вы создали только что, с Server-01 на Server-02 по частной сети. Для этого нужен внутренний IP-адрес Server-02.

Чтобы узнать внутренний IP-адрес второго сервера, воспользуйтесь панелью управления.

Скопируйте внутренний IP-адрес и вставьте его в команду:

rsync --verbose ~/test.txt  Server-02-private_ip:/tmp

Флаг —verbose отображает расширенный вывод, а затем указывается путь и имя файла, который нужно передать (test.txt). В конце через двоеточие указывается внутренний IP-адрес целевого сервера и каталог на этом сервере, в который нужно поместить файл (/tmp).

При первом подключении к новому хосту вы получите предупреждение о том, что подлинность хоста невозможно установить (это нормальное поведение, поскольку вы никогда не подключались с Server-01 раньше). Если вы подключитесь как другой пользователь, вы снова увидите это сообщение.

The authenticity of host '203.0.113.22 (203.0.113.22)' can't be established.
ECDSA key fingerprint is SHA256:EXAMPLEqpYH7rwiJhfiwF0yFurW21RGhLOYa1c7yuqM.
Are you sure you want to continue connecting (yes/no)? yes

Введите yes и нажмите Enter.

Затем по запросу введите пароль.

В целях безопасности пароль не отображается. Нажмите Enter, чтобы продолжить.

Поскольку вы добавили флаг —verbose, вы должны получить примерно такой вывод:

sent 85 bytes  received 41 bytes  22.91 bytes/sec
total size is 24  speedup is 0.19

Примечание: Если вы не переустановили пароль по умолчанию на втором сервере, файлы не будут переданы, а вы получите такую ошибку:

Password change required but no TTY available.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]

Чтобы исправить это, войдите на целевой сервер через SSH и сбросьте пароль.

Как только передача файла будет завершена, войдите на второй сервер и убедитесь, что файл присутствует в каталоге /tmp.

3: Проверка данных

С локальной машины подключитесь к серверу Server-02:

ssh root@Server-02-private_ip

После этого нужно использовать cat, чтобы убедиться, что файл test.txt существует в каталоге /tmp:

cat /tmp/test.txt

Вы должны увидеть текст, который ввели в разделе 1.

Private networking test

Теперь вы убедились, что можете передавать данные по частной сети.

Заключение

Рекомендуем вам защитить новые серверы, следуя руководству по начальной настройке сервера.

Вы также можете передавать файлы через частную сеть более надежно с помощью SSH-ключей, об этом можно прочитать в мануале Передача файлов по частной сети (аутентификация на основе SSH-ключей).

Вы также можете настроить брандмауэр, чтобы заблокировать отдельные серверы и порты.

Tags: ,