Безопасная передача файлов с помощью SCP [Linux]

При доступе к серверу Linux у вас есть несколько вариантов. Если это сервер с пользовательским интерфейсом, вы можете использовать VNC, но более распространенным вариантом является вход на автономный сервер с помощью Secure Shell или SSH. Это зашифрованный безопасный протокол, который дает вам доступ к удаленной системе через SSH-клиент. Однако вы можете просто отправить некоторые файлы на сервер. Для этого вы можете использовать программу под названием Secure Copy, или SCP, которая работает по надежному протоколу SSH для быстрой передачи файлов по вашей сети в удаленную систему. Здесь мы покажем вам, как безопасно передавать файлы с помощью SCP в Linux.

Настройка SSH

На вашем сервере (или любой другой удаленной системе, к которой вы хотите получить доступ) вам необходимо установить SSH-сервер. Самый распространенный в Linux — это сервер OpenSSH. Чтобы установить его, вы можете запустить одну из следующих команд:

# Сервер на основе Debian / Ubuntu sudo apt install openssh-server # Fedora / Centos sudo dnf install openssh-server

Scp Dnf Установить

В зависимости от вашего дистрибутива вам может потребоваться разрешить SSH через некоторые программные брандмауэры. В Ubuntu этой проблемы нет, но в CentOS вам также придется выполнить следующие команды:

sudo firewall-cmd —add-service = ssh —permanent sudo firewall-cmd —reload

Служба добавления команд брандмауэра Scp

Scp Firewall Cmd Reload

На этом этапе вам понадобится клиент SSH. В большинстве дистрибутивов у вас установлен клиент OpenSSH. Но, если вы этого не сделаете, установите его с помощью следующей команды:

# Дистрибутив на основе Debian / Ubuntu sudo apt install openssh-client # Fedora sudo dnf install openssh-client

Подключение к вашей системе через SSH

Прежде чем пытаться возиться с SCP, убедитесь, что SSH работает. Прежде чем вы сможете подключиться через SSH, вам необходимо узнать IP-адрес сервера. На графических серверах IP-адрес отображается в сетевом апплете в системных настройках. На большинстве серверов вы должны использовать команду ip на терминале.

Сервер scp IP

В выходных данных найдите строку, начинающуюся с inet в разделе eth0 или enp1s0, в зависимости от того, как ваш сетевой интерфейс подключен к системе. В моем случае это 192.168.122.201.

Чтобы проверить соединение SSH, перейдите на клиентский компьютер Linux и введите:

Измените «пользователя» на фактическое имя пользователя на сервере.

Тестовый клиент Scp Ssh

Введите пароль этой учетной записи, и вы в деле. Если вы получили вопрос о том, что «подлинность хоста не может быть установлена», просто ответьте «да» на вопрос. Это проверка безопасности, призванная убедиться, что вы подключаетесь к своему фактическому серверу, а не к самозванцу. Вы должны увидеть такое же приглашение в вашей клиентской системе, которое вы видите при входе непосредственно на сервер, и это означает, что ваше соединение было успешным. Вы также должны настроить свои SSH-соединения для максимальной безопасности, прежде чем переходить к следующему шагу.

Использование SCP для передачи файлов

Теперь, когда вы проверили соединение SSH, вы можете начать копировать файлы между двумя машинами. Безопасное копирование достигается с помощью команды scp. Базовый формат команды scp:

scp / ПУТЬ / К / ФАЙЛ ПОЛЬЗОВАТЕЛЮ @ IP-АДРЕС: ПУТЬ / К / ЖЕЛАТЕЛЬНЫЙ / НАЗНАЧЕНИЕ

Например, чтобы скопировать файл «backup.txz» с локального компьютера в папку «backups» в домашнем каталоге пользователя «maketecheasier» на удаленном сервере с IP-адресом 192.168.1.101, используйте:

scp backup.txz maketecheasier@192.168.122.201: ~ / backups /

Тест Scp

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

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

scp * .txz maketecheasier@192.168.122.201: ~ / backups /

Чтобы скопировать файл с удаленного сервера на локальный компьютер, просто измените параметры в обратном порядке:

scp maketecheasier@192.168.122.201: ~ / backups / backup.txz.

Обратите внимание на точку в конце команды, которая означает «текущий каталог», как и в случае со стандартными командами cp или mv. Вы можете так же легко указать другой каталог, если хотите.

scp -r maketecheasier@192.168.122.201: ~ / backups / backups-from-server /

То же самое и с дикими картами:

scp maketecheasier@192.168.122.201: ~ / backups / *. txz.

Чтобы рекурсивно скопировать каталог на удаленный сервер, используйте параметр -r:

scp -r резервные копии / maketecheasier@192.168.122.201: ~ / резервные копии /

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

scp -r scp -r maketecheasier@192.168.122.201: ~ / backups /.

Другие команды SCP, которые стоит попробовать

Чтобы продвинуться дальше, попробуйте поэкспериментировать с параметром -C, который включает сжатие во время копирования, или параметром -l, который ограничивает полосу пропускания во время копирования.

Чтобы передавать файл без необходимости каждый раз вводить пароль, вы также можете сгенерировать закрытый SSH-ключ для подключения к вашему серверу.

Связанный:

Эта статья полезна? да нет

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *