Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Полное руководство по синтаксису SCP, интерактивному режиму SFTP, rsync для синхронизации и резервного копирования, WinSCP и FileZilla для пользователей Windows.
Существует несколько безопасных методов передачи файлов на Linux-сервер. SCP (Secure Copy Protocol), SFTP (SSH File Transfer Protocol) и rsync используют инфраструктуру SSH для зашифрованной передачи файлов. В этом руководстве рассматриваются все три инструмента и графические альтернативы для пользователей Windows.
SCP — простой и быстрый инструмент для копирования файлов через SSH.
# Копировать локальный файл на сервер
scp /local/file.txt user@server-ip:/remote/directory/
# Копировать с сервера на локальный компьютер
scp user@server-ip:/remote/file.txt /local/directory/
# Копировать директорию (-r рекурсивно)
scp -r /local/directory/ user@server-ip:/remote/directory/
# Нестандартный порт (-P заглавная)
scp -P 2222 file.txt user@server-ip:/destination/
# С файлом SSH-ключа
scp -i ~/.ssh/id_rsa file.txt user@server-ip:/destination/
# Копирование между двумя удалёнными серверами
scp user1@server1:/file.txt user2@server2:/destination/
# Передача со сжатием (-C)
scp -C large-file.tar.gz user@server-ip:/destination/
# Показать прогресс (-v подробный вывод)
scp -v file.txt user@server-ip:/destination/
# Ограничить пропускную способность (КБ/с)
scp -l 1024 file.txt user@server-ip:/destination/
# Несколько файлов
scp file1.txt file2.txt user@server-ip:/destination/
# С маской
scp *.log user@server-ip:/var/log/backup/
SCP идеален для простого копирования файлов. Для синхронизации больших директорий или резервного копирования rsync эффективнее.
SFTP — полнофункциональный протокол передачи файлов через SSH. Это безопасная альтернатива FTP.
# Начать сессию SFTP
sftp user@server-ip
# С нестандартным портом
sftp -P 2222 user@server-ip
# С SSH-ключом
sftp -i ~/.ssh/id_rsa user@server-ip
# Список удалённой директории
ls
ls -la
# Сменить удалённую директорию
cd /var/www/html
# Сменить локальную директорию
lcd ~/Downloads
# Загрузить файл (локальный → удалённый)
put file.txt
put -r /local/directory/ /remote/directory/
# Скачать файл (удалённый → локальный)
get file.txt
get -r /remote/directory/ /local/directory/
# Создать удалённую директорию
mkdir new-directory
# Удалить удалённый файл
rm file.txt
# Переименовать удалённый файл
rename old-name.txt new-name.txt
# Закрыть сессию SFTP
exit
# SFTP в пакетном режиме
sftp -b - user@server-ip << 'EOF'
cd /var/www/html
put index.html
put style.css
EOF
rsync — мощный инструмент для эффективной синхронизации файлов и директорий. Передаёт только изменённые файлы.
# Синхронизировать локальную директорию с сервером
rsync -avz /local/directory/ user@server-ip:/remote/directory/
# Синхронизировать с сервера на локальный компьютер
rsync -avz user@server-ip:/remote/directory/ /local/directory/
# С нестандартным SSH-портом
rsync -avz -e "ssh -p 2222" /local/ user@server-ip:/remote/
# С SSH-ключом
rsync -avz -e "ssh -i ~/.ssh/id_rsa" /local/ user@server-ip:/remote/
# Полная команда резервного копирования
rsync -avzh --progress /var/www/ user@server-ip:/backup/www/
# Синхронизация с удалением
rsync -avz --delete /local/ user@server-ip:/remote/
# Сначала симуляция
rsync -avz --dry-run /local/ user@server-ip:/remote/
# Исключить определённые файлы
rsync -avz --exclude='*.log' --exclude='.git' /local/ user@server-ip:/remote/
# Ограничить пропускную способность (КБ/с)
rsync -avz --bwlimit=1024 /local/ user@server-ip:/remote/
# Ежедневное резервное копирование с cron
crontab -e
# Резервное копирование каждую ночь в 02:00
0 2 * * * rsync -avz --delete /var/www/ user@backup-server:/backup/www/ >> /var/log/rsync-backup.log 2>&1
# Резервное копирование с датой
rsync -avz /var/www/ user@server-ip:/backup/www-$(date +%Y%m%d)/
Самая мощная функция rsync — алгоритм дельта-передачи: передаются только изменённые блоки. Если изменилась небольшая часть большого файла, rsync отправляет только эту изменённую часть, экономя значительную пропускную способность.
WinSCP — самый популярный SFTP/SCP-клиент для Windows.
Установка и подключение:
FileZilla — кроссплатформенный SFTP-клиент для Windows, macOS и Linux.
Настройка подключения:
# Редактировать ~/.ssh/config
nano ~/.ssh/config
Host my-server
HostName 203.0.113.50
User ubuntu
Port 22
IdentityFile ~/.ssh/id_rsa
# Теперь подключайтесь с коротким псевдонимом
scp file.txt my-server:/destination/
sftp my-server
rsync -avz /local/ my-server:/remote/
# Проверить SSH-соединение
ssh -v user@server-ip
# Проверить порт
nmap -p 22 server-ip
# Проверить брандмауэр
sudo ufw status
SCP, SFTP и rsync — незаменимые инструменты для безопасной передачи файлов на Linux-серверы. Используйте SCP для простого копирования, SFTP для интерактивного управления и rsync для синхронизации и резервного копирования. Пользователи Windows могут получить доступ к той же функциональности через графические интерфейсы WinSCP или FileZilla.
SCP — простой, быстрый инструмент для копирования — он только копирует. SFTP — полнофункциональный протокол управления файлами: поддерживает создание директорий, удаление, переименование и интерактивные сессии. Используйте SCP для простого копирования, SFTP для полного управления файлами.
rsync использует алгоритм дельта-передачи: передаются только изменённые блоки файлов. Если изменилась небольшая часть большого файла, rsync отправляет только эту изменённую часть. SCP каждый раз копирует весь файл.
На Windows используйте WinSCP или FileZilla. Оба поддерживают протокол SFTP и позволяют аутентификацию по SSH-ключу. WinSCP предлагает более расширенные функции, FileZilla выделяется кроссплатформенной поддержкой.
Сначала симулируйте с '--dry-run': 'rsync -avz --dry-run --delete /источник/ /назначение/'. Это покажет, что произойдёт без фактической передачи. Если результаты вас устраивают, запустите без '--dry-run'.
С rsync и параметром '-P' (--partial --progress) прерванная передача возобновляется с того места, где остановилась. С SCP нужно перезапускать передачу с начала. Поэтому для больших файлов предпочтителен rsync.
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.