Sftp что это простыми словами

SFTP (SSH File Transfer Protocol): Что Это Такое и Как Его Использовать

Sftp что это простыми словами. sftp. Sftp что это простыми словами фото. Sftp что это простыми словами-sftp. картинка Sftp что это простыми словами. картинка sftp

FTP — это стандартный метод передачи файлов или других данных между компьютерами, однако с каждым днём он становится всё более устаревшим, учитывая современные стандарты безопасности. К счастью, именно здесь на помощь приходит SFTP, который пользователи VPS-хостинга найдут особенно полезным.

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

Как подключиться к серверу по SFTP?

SFTP — это подсистема SSH. Следовательно, этот протокол поддерживает все методы аутентификации SSH. Хотя настроить и использовать аутентификацию по паролю намного проще, вход в систему с помощью ключей SSH по SFTP без пароля намного безопаснее.

Подробную информацию о том, как настроить ключи SSH можно найти в этом руководстве. Когда вы будете готовы, выполните следующие действия, чтобы подключиться по SFTP:

После подключения вы увидите командную оболочку SFTP.

Как передавать файлы по SFTP?

Здесь мы покажем вам, как передавать удалённые файлы в локальную систему и наоборот с помощью SFTP.

Обратите внимание! Вы также можете передавать файлы с помощью SFTP-клиентов, таких как WinSCP или FileZilla. Если вас интересует последний, ознакомьтесь с нашим руководством на эту тему.

Передача удалённых файлов с сервера в локальную систему

Для начала давайте проверим, какие локальный и удалённый рабочие каталоги мы используем. Для этого воспользуемся следующими командами SFTP:

Теперь давайте посмотрим, как передать файл с удалённого сервера на локальный компьютер с помощью команды get. Вот основной синтаксис команды get:

Например, чтобы скопировать файл /etc/xinetd.conf с удалённого сервера на локальный компьютер, вы должны использовать команду:

По завершению загрузки вы найдёте файл xinetd.conf в каталоге /user/home на вашей локальной машине.

Чтобы загрузить по SFTP несколько файлов, используйте команду mget. Для загрузки в текущий рабочий каталог все файлы из каталога /etc с расширением .conf, воспользуйтесь следующей командой:

После загрузки вы найдёте все файлы *.conf в каталоге /user/home на вашем компьютере.

Передача файлов с локального компьютера на удалённый сервер

Чтобы скопировать файл с локального компьютера на удалённый сервер, мы снова воспользуемся командой get. В этом случае синтаксис команды get будет следующим:

Чтобы переместить файл example.txt с локальной машины на удалённую, введите следующую команду:

Теперь мы найдём файл в корневом каталоге удалённого сервера. Вы также можете попробовать передать несколько файлов с помощью команды mput. Работает почти так же, как mget:

Эта команда переместит все файлы с расширением .txt в папке /home/user-name с локального компьютера на удалённый в каталог /root.

Обратите внимание! Для загрузки и выгрузки файлов по SFTP вам нужно будет ввести команду put или get и нажать клавишу TAB.

Команды для навигации по SFTP

Некоторые команды можно использовать для более эффективной навигации по удалённым и локальным серверам с помощью SFTP. Они похожи на те, которые вы бы использовали в командной строке Linux.

Например, команда pwd всегда поможет узнать, в каком рабочем каталоге вы находитесь.

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

Аналогично для локального рабочего каталога:

Вывод будет выглядеть примерно так:

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

Наконец, используйте ! и команды exit, чтобы вернуться в локальную оболочку и выйти из SFTP.

Основы обслуживания файлов с использованием SFTP

SFTP также позволяет управлять каталогами и файлами с помощью определённых команд.

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

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

Вы можете удалить его с удалённого сервера с помощью команды rmdir:

Переименовать удалённый файл тоже довольно просто:

Если вы хотите удалить удалённый файл, используйте команду rm:

В то время как команда chown используется для замены владельца файла:

Значением userid может быть либо имя пользователя, либо числовой идентификатор пользователя. Например:

chgrp используется для изменения владельца группы файла:

Наконец, вам нужно будет использовать интерактивную команду chmod, чтобы изменить права доступа к файлу:

В этом примере трёхзначное значение обозначает пользователя, группу и других пользователей файла.

Что касается разрешений на чтение (r), запись (w) и выполнение (x), их значения равны 4, 2, 1 соответственно. 0 также может использоваться, чтобы не предоставлять никаких разрешений.

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

Список полезных команд SFTP

Если вам нужна шпаргалка, вот список всех доступных команд SFTP. Вы можете найти этот список самостоятельно, просто введя команду вызова справки help или ? — обе предложат один и тот же результат.

Что такое SFTP?

SFTP, или SSH File Transfer Protocol — более безопасный способ передачи файлов. Используя протокол SSH, он поддерживает шифрование и другие методы безопасности для лучшей защиты передачи файлов. Это единственный безопасный протокол, который защищает от атак на любом этапе процесса передачи данных.

Во время передачи файлов все данные разделяются на пакеты и отправляются через единое безопасное соединение.

SFTP шифрует конфиденциальную информацию при передаче между клиентом и сервером и делает её нечитаемой. Другими словами, исходное содержимое (открытый текст) заменяется бессвязной строкой символов (зашифрованным текстом).

Только получатель с требуемым ключом дешифрования сможет увидеть исходный контент. Это предотвращает любой несанкционированный доступ к данным во время передачи файлов.

Обычный протокол передачи файлов (FTP) имеет два разных канала для обмена данными — командный канал и канал даных. SFTP имеет только один зашифрованный канал, по которому данные передаются зашифрованными, отформатированными пакетами.

Заключение

В этом руководсве мы охватили основы использования SFTP для безопасной передачи файлов. Мы надеемся, что эта статья была вам полезной. Однако, если вам нужна дополнительная информация только о FTP, вы можете найти больше руководств здесь.

Также, если у вас возникли вопросы, не стесняйтесь оставлять их в комментариях ниже.

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Протокол FTP (SFTP, FTPS) — что это такое, соединение между клиентом и сервером по ФТП

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Очередным шагом на пути познания механизма передачи информации в интернете станет изучение FTP, посредством которого можно в том числе работать с любыми файлами на удаленном сервере.

Как и в случае с HTTP (о всех нюансах которого я сообщал тут), базовой составляющей действия этого протокола является взаимодействие «клиент-сервер», подробности которого мы непременно разберем в данной публикации.

Sftp что это простыми словами. ftp. Sftp что это простыми словами фото. Sftp что это простыми словами-ftp. картинка Sftp что это простыми словами. картинка ftp

Перед нами не стоит цель с головой окунуться в дебри и по косточкам разобрать абсолютно все разделы этой темы, но вот знание основ работы ФТП и его безопасных вариантов SFTP, FTPS, а также туннелирования посредством SSH-соединения может оказать вам практическую пользу в дальнейшем. В процессе повествования я постараюсь избежать ненужных заумных выражений и объяснить все простыми и понятными словами.

Что такое FTP и в чем его отличие от HTTP

Итак, аббревиатура FTP означает «File Transfer Protocol» и переводится с английского на русский как «протокол передачи файлов». Как и HTTP, файловая передача основывается на модели, состоящей из совокупности протоколов TCP/IP (Transmission Control Protocol/Internet Protocol), на которой и базируется современный интернет.

Если HTTP, который также является протоколом, был изначально предусмотрен создателями для осуществления передачи гипертекста (что это такое?) и небольших текстовых файликов, то ФТП служит для «транспортировки» практически любых файлов.

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

Sftp что это простыми словами. 2017 12 30 112208. Sftp что это простыми словами фото. Sftp что это простыми словами-2017 12 30 112208. картинка Sftp что это простыми словами. картинка 2017 12 30 112208

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

Взаимодействие между Клиентом и Сервером по ФТП

Перед тем, как продолжить, необходимо определиться с еще некоторыми терминами, которые будут совсем не лишними для восприятия картины в целом.

FTP server — это сервер, который предусматривает возможность использования протокола передачи файлов. Он обладает определенными особенностями, отличающими его от обычных вэбсерверов, а именно теми, которые в основном также присущи одноименному протоколу и представлены в табличке выше:

Ярким примером ФТП-сервера может служить server хостинга (что означает этот термин), на котором «живет» сайт. Эта информация для вебмастеров не является тайной за семью печатями, но вот тем, кто только планирует заняться сайтостроением, будет как раз к месту.

FTP client — это программа, позволяющая подключиться к удаленному серверу по ФТП и также выполнять на нем необходимые действия с элементами файловой системы. К слову, клиентом вполне может быть браузер, в адресную строку которого следует ввести урл, представляющий собой путь (c протоколом FTP) до определенного каталога или файла на удаленном сервере, в соответствии с общей блок-схемой URL:

Или применить более сложный вариант, ежели используется порт, отличный от 21:

Однако же, использование веб-обозревателя в таком разрезе позволит лишь просмотреть или скачать интересующие файлы. Для того, чтобы в полной мере задействовать все плюсы FTP, в качестве клиента следует применить специализированный софт наподобие Файлзиллы (в этом мануале даны все нужные инструкции по установке, настройке и работе с данной программой):

Sftp что это простыми словами. 2017 12 30 185208. Sftp что это простыми словами фото. Sftp что это простыми словами-2017 12 30 185208. картинка Sftp что это простыми словами. картинка 2017 12 30 185208

Чтобы подключиться через уже настроенный клиент FileZilla к удаленному серверу, необходимо ввести название хоста, в качестве которого используется IP-адрес сайта, соответствующий его домену (что такое доменное имя и как его приобрести), имя пользователя, пароль и порт.

Кстати, в статье о Файлзилле дана не только стандартная информация, но и практические советы по устранению ее уязвимости в плане безопасности (несмотря на кучу плюсов, проблемы такого рода у ней есть, впрочем, как и у других программ подобного профиля), поэтому настоятельно рекомендую прочитать этот материал, перейдя по чуть выше предоставленной ссылке.

Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:

Sftp что это простыми словами. 2018 01 02 085402. Sftp что это простыми словами фото. Sftp что это простыми словами-2018 01 02 085402. картинка Sftp что это простыми словами. картинка 2018 01 02 085402

Если расписать этот процесс по пунктам, то получится примерно следующее:

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

Однако, в интернете довольно много бесплатных ФТП-серверов, по сути являющихся библиотеками разного рода файлов, которые предназначены для хранения и скачивания текстовых документов, музыки, фото, видео, дистрибутивов программ и т.п.

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

Кроме стандартного соединения с сервером, предусматривающего ввод данных аутентификации, существует понятие анонимного FTP, когда любой пользователь может подключиться к серверу без предоставления персональных данных. Если при этом использовать браузер в качестве клиента, то адрес доступа к файлу может быть упрощен и представлен так:

На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.

Безопасный ФТП (SFTP, FTPS и с использованием SSH)

Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

Но с развитием Мировой Паутины ее частью стал помянутый APRANET, а, следовательно, и технология FTP перекочевала туда же, поскольку обладала многими преимуществами. Однако, одновременно на несколько порядков возросла опасность несанкционированного доступа.

Поэтому возникла насущная необходимость защиты серверов от различного рода атак. Обычный ФТП не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками.

По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP». Вот какие разновидности протокола соответствуют этому термину:

1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

1.1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.

1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».

2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell — безопасная оболочка).

Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.

3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?

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

Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.

Источник

Использование SFTP для безопасного обмена файлами

Что такое SFTP

FTP («File Transfer Protocol», что переводится как «Протокол передачи файлов») – широко используемый метод передачи файлов между двумя удаленными системами.

SFTP расшифровывается как SSH File Transfer Protocol, или Secure File Transfer Protocol («Безопасный протокол передачи файлов»), и является отдельным протоколом, объёдиненным в пакет с SSH и работающим по тому же принципу, но через безопасное соединение. Преимущество состоит в возможности использовать безопасное соединение для передачи файлов и прослеживать файловую систему как локальной, так и удаленной системы.

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

Хотя SFTP интегрирован во многие графические средства, данное руководство описывает его использование через интерактивный интерфейс командной строки.

Подключение по SFTP

SFTP по умолчанию использует протокол SSH для аутентификации и установки безопасного соединения. Потому можно использовать методы аутентификации SSH.

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

Пожалуйста, прочитайте следующее руководство по установке SSH-ключей для того, чтобы получить доступ к серверу, если вы не сделали этого ранее.

Если SSH работает, вернитесь назад, введя:

Можно установить соединение SSH и затем открыть сессию SFTP, используя данное соединение при помощи следующей команды:

После подключения к удаленной системе стандартная строка будет заменена строкой SFTP.

Получение справки в SFTP

Одна из самых полезных команд, которую следует запомнить в первую очередь – команда помощи. Она предоставляет доступ к справке SFTP. Ее можно вызвать, введя любую из нижеприведенных команд в строку:

Это откроет список доступных команд:

Некоторые из приведенных выше команд будут рассмотрены подробнее в следующих разделах.

Навигация с помощью SFTP

По файловой иерархии удаленной системы можно перемещаться с помощью ряда команд, которые функционируют так же, как аналоги их оболочки.

Для начала нужно выяснить, какой каталог удаленной системы является текущим в данный момент. Как и в типичной сессии оболочки, для определения текущего каталога можно использовать следующие команды:

pwd
Remote working directory: /home/demouser

Содержимое текущего каталога удаленной системы можно просмотреть при помощи знакомой команды:

ls
Summary.txt info.html temp.txt testDirectory

Обратите внимание: команды в интерфейсе SFTP не являются стандартными командами оболочки и не так многофункциональны, но они приводят в исполнение некоторые из самых важных флагов:

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

Теперь можно пройти через удаленную файловую систему, но что делать, если необходимо получить доступ к локальной файловой системе? Команды можно направить на локальную файловую систему, указав перед ними «l», что значит «local».

Все вышеуказанные команды имеют локальный эквивалент. Можно вывести на экран локальный рабочий каталог:

lpwd
Local working directory: /Users/demouser

Можно просмотреть содержимое текущего каталога локальной машины:

lls
Desktop local.txt test.html
Documents analysis.rtf

Можно также изменить каталог локальной системы, с которым нужно взаимодействовать:

Передача файлов с помощью SFTP

Перемещение по удаленной и локальной файловой системе имеет ограниченную полезность, так как не предоставляет возможности для передачи файлов между ними.

Передача удаленных файлов на локальную систему

При необходимости загрузить файлы с удаленного хоста можно использовать следующую команду:

get remoteFile
Fetching /home/demouser/remoteFile to remoteFile
/home/demouser/remoteFile 100% 37KB 36.8KB/s 00:01

Как видите, команда «get» по умолчанию загружает удаленный файл к файлу с таким же именем на локальной системе.

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

get remoteFile localFile

Команда «get» также имеет несколько командных флагов. Например, можно скопировать каталог и все его содержимое, используя рекурсивную команду:

Можно приказать SFTP поддерживать соответствующие права и количество попыток доступа при помощи флагов «-P» или «-p»:

Передача локальных файлов на удаленную систему

Передать файлы на удаленную систему легко при помощи соответствующей команды «put»:

put localFile
Uploading localFile to /home/demouser/localFile
localFile 100% 7607 7.4KB/s 00:00

Флаги команды «get» также применимы к команде «put». Таким образом, чтобы скопировать весь локальный каталог, нужно применить:

Команда «df», работающая аналогично командной строке, является популярным инструментом, полезным при загрузке и прересылке файлов. Используя данную команду, можно проверить, достаточно ли места для завершения передачи необходимых файлов:

Обратите внимание: локального аналога данной команды нет, но это можно обойти при помощи команды «!».

Команда «!» перемещает в локальную оболочку, в которой можно выполнить любую команду, доступную на локальной системе. Можно проверить использование дискового пространства, набрав:

Любая другая локальная команда будет функционировать должным образом. Чтобы вернуться к SFTP сессии, наберите:

Затем вернется строка SFTP.

Простые манипуляции с файлами с помощью SFTP

SFTP выполняет базовую поддержку файлов, что будет полезно при работе с иерархиями файлов.

К примеру, можно изменить владельца файла на удаленной системе с помощью строки:

Обратите внимание: в отличие от системной команды «chmod», аналогичная команда SFTP не принимает имена пользователей, но вместо этого использует уникальные идентификаторы (UID). К сожалению, простого способа узнать уникальный идентификатор из интерфейса SFTP нет.

Это можно обойти, используя:

Обратите внимание: команда «!» используется не самостоятельно, а в качестве префикса к команде локальной оболочки. Это работает также при запуске любой команды, доступной на локальной системе; также это можно было использовать ранее с локальной командой «df».

Уникальный идентификатор будет в третьем столбце файла, на что указывают символы двоеточия.

Аналогичным образом можно изменить группу-владельца файла:

chgrp groupID file

Опять же, простого способа получения списка групп удаленной системы нет. Это можно обойти при помощи следующей команды:

Третий столбец содержит идентификатор группы, связанной с именем в первом столбце. Это и нужно было найти.

К счастью, команда «chmod» работает на удаленной файловой системе должным образом:

chmod 777 publicFile
Changing mode on /home/demouser/publicFile

Команды для манипулирования правами доступа к локальным файлам нет, но можно установить umask на локальную машину, и тогда любые файлы, скопированные на локальную систему, будут иметь соответствующие права доступа.

Это можно сделать при помощи команды «lumask»:

lumask 022
Local umask: 022

Теперь все загруженные обычные файлы будут иметь права доступа 644 (при условии, что флаг «-p» не используется).

SFTP позволяет создавать директории как на локальной, так и на удаленной системе с помощью команд «lmkdir» и «mkdir» соответственно.

Остальные файловые команды применимы только к удаленной файловой системе:

Данные команды повторяют основное поведение версий оболочки. Помните, что при необходимости выполнить данные действия на локальной системе можно перейти на нее при помощи команды:

Или же выполните в локальной системе единственную команду, используя «!» как префикс, вот так:

!chmod 644 somefile

Завершив сессию SFTP, используйте «exit» или «bye» для закрытия соединения.

Итоги

Несмотря на простоту использования, SFTP очень полезен в администрировании серверов, а также при передаче файлов между ними.

SFTP объединяет в себе сильные стороны FTP и SCP. И хотя существуют ситуации, когда данный протокол неприменим, все же это достаточно гибкий в использовании инструмент, который стоит иметь в своем арсенале.

Источник

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

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