Обзор
SFTP (SSH File Transfer Protocol) — это протокол, разработанный для замены небезопасного FTP. Команда `sftp` использует SSH-соединение для шифрования всех данных и команд, что исключает риск раскрытия имени пользователя, пароля, содержимого файлов и т. д. в сети. Как и FTP, он поддерживает интерактивный режим, и его использование аналогично, что делает его простым для пользователей, знакомых с FTP.
Основные особенности
Основные особенности команды sftp:
- Шифрует всю связь на основе SSH.
- Предоставляет интерактивный интерфейс команд, аналогичный FTP.
- Использует один порт (по умолчанию 22), что удобно для сред с брандмауэром.
- Поддерживает различные функции, такие как загрузка файлов (`put`), скачивание (`get`), изменение каталогов (`cd`, `lcd`).
SFTP против FTP
SFTP и FTP имеют существенные различия в способах передачи файлов и аспектах безопасности.
- SFTP: Передает данные в зашифрованном виде через SSH, поэтому является безопасным. Использует порт 22 и обрабатывает всю связь через один порт.
- FTP: Передает данные в виде открытого текста, что делает его уязвимым для безопасности. Использует порт 21 и требует отдельного порта для передачи данных.
Основные опции
sftp можно использовать в интерактивном режиме, аналогично FTP, или в неинтерактивном режиме с определенными командами.
1) Опции запуска
2) Внутренние команды интерактивного режима
Сгенерированная команда:
Комбинируйте команды.
Описание:
`sftp` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите функции команды sftp на различных примерах использования.
Подключение к серверу в интерактивном режиме
sftp user@server.com
Подключается к `server.com` под учетной записью `user` и входит в интерактивный режим.
Скачивание файла
sftp user@server.com
... (접속 후)
cd /var/log
get syslog ~
Скачивает файл `syslog` из каталога `/var/log` удаленного сервера в локальный каталог `~`.
Загрузка файла
sftp user@server.com
... (접속 후)
cd /var/www
put /home/user/document.txt
Загружает файл `/home/user/document.txt` с локального компьютера в каталог `/var/www` на удаленном сервере.
Передача файла в неинтерактивном режиме
sftp user@server.com:/remote/path <<< 'put localfile.txt'
Использует команду `put` в неинтерактивном режиме для загрузки файла за один раз.
Установка
sftp поставляется в большинстве дистрибутивов Linux как часть пакета `openssh-client`. Если SSH-клиент уже установлен, отдельная установка не требуется.
Debian/Ubuntu
sudo apt update
sudo apt install -y openssh-client
RHEL/CentOS/Fedora
sudo dnf install -y openssh-clients
Советы и примечания
Здесь собраны важные моменты, на которые следует обратить внимание при использовании команды sftp.
Советы
- sftp, как и `scp`, использует учетные данные SSH. Поэтому вы можете легко управлять настройками подключения с помощью файла `~/.ssh/config`.
- В интерактивном режиме введите `help`, чтобы просмотреть список всех внутренних команд. Помимо `put` и `get`, вы можете передавать несколько файлов с помощью `mput` и `mget`.
- При возникновении проблем с сетью или ошибок аутентификации используйте опцию `-v` для вывода подробной информации, что поможет в устранении неполадок.