URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 61204
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Создание sftp сервера силами proftp..."

Отправлено auto_tips , 20-Ноя-09 18:32 
++ Зачем нужен sftp

В протоколе FTP есть 2 ключевые проблемы - во первых, пароли и данные передаются в открытом виде, во вторых - для каждой передачи устанавливается дополнительное соединение. Для шифрования данных и контрольного соединения был написан FTPS, но с ним проблем еще больше - все также требуется дополнительное соединение при передаче, а главное - контрольный канал теперь зашифрован и firewall никак не может помочь в прохождении FTP трафика через NAT. Кроме того - существуют различия в реализации, что добавляет еще больше проблем при использовании FTPS. SFTP - полностью новый протокол разработанный IETF SECSH, предлагающий аналогичные FTP возможности для удаленных операций и использующий SSH (обычно SSH2) для обеспечения шифрования и аутентификации. Известность получил в основном из-за того, что был встроен в SSH сервера, в частности - в OpenSSH 2.3.0 и выше.

++ Недостатки sftp в OpenSSH

До OpenSSH 4.9 sftp сервер требовал запуска внешнего исполняемого файла и построение chroot окружения было связанно с дополнительными действиями. Невозможно ограничить скорость передачи для конкретного пользователя. Сложно сделать отличную от SSH базу с пользователями. В целом - sftp сервер в OpenSSH всегда был лишь приятным дополнением к OpenSSH предоставляя на порядок меньшие возможности чем, например, proftpd. Впрочем, недавно необходимость выбора между удобством и безопасностью отпала так как был написан и реализован модуль mod_sftp для proftpd, о нем и пойдет речь.

++ Использование модуля

Впервые модуль появился в версии 1.3.2rc2, но на мой взгляд - уже вполне пригоден к использованию. Он не компилируется по умолчанию, так что для его использования надо указать его на этапе configure. Вы можете собрать proftpd из исходников, или если у вас redhat based OS - воспользоваться моим [[http://rpms.varien.com/src/sqlite2-2.8.17-1.varien.src.rpm src.rpm]]. Модуль имеет множество возможностей полный список которых можно [[http://www.castaglia.org/proftpd/modules/mod_sftp.html посмотреть на сайте]]. Для минимальной настройки достаточно внести такие дополнения в файл конфигурации по умолчанию:

   Port                            8022
   SFTPEngine on
   SFTPHostKey /etc/ssh/ssh_host_dsa_key
   SFTPHostKey /etc/ssh/ssh_host_rsa_key


и запустить proftpd. Теперь можно подключаться к порту 8022 любым sftp клиентом, например - мультиплатформенной FileZilla или command line sftp из комплекта OpenSSH. Используя виртуальные сервера можно сделать одновременную работу SFTP и FTP(S), ограничить доступ, сделать chroot для всех или некоторых сайтов и так далее. За примерно месяц использования я не обнаружил каких либо минусов данного решения по сравнению с OpenSSH sftp.

URL:
Обсуждается: http://www.opennet.me/tips/info/2234.shtml


Содержание

Сообщения в этом обсуждении
"Создание sftp сервера силами proftpd"
Отправлено IGX , 20-Ноя-09 18:32 
В русском языке слово "сервер" во множественном числе звучит как "серверы", а не "сервера".

"сервера"
Отправлено PEACE , 20-Ноя-09 19:02 
http://gramota.ru/slovari/dic/?word=ЯЕПБЕПШ&all=x

"Создание sftp сервера силами proftpd"
Отправлено Samm , 20-Ноя-09 19:30 
Очень, очень важное замечание. Только с чего бы ему так звучать?

"Создание sftp сервера силами proftpd"
Отправлено V , 20-Ноя-09 20:52 
нубы безграмотные, слово "сервера" используется на профессиональном уровне, в то время как "серверы" -- общепринятое множественное число, используемое в документах и просторечье.

"Создание sftp сервера силами proftpd"
Отправлено Султан , 21-Ноя-09 05:54 
Ага, как "трактора", "комбанера"... Развелось "председателей колхозов"...

"Создание sftp сервера силами proftpd"
Отправлено gedeon , 23-Ноя-09 11:31 
В словаре приведено окончание для родительного падежа, посмотрите например слово "колхозник", там тоже указано окончание "а".


"Создание sftp сервера силами proftpd"
Отправлено Юзер , 20-Ноя-09 20:59 
Ага, а корабль плывет.

"Создание sftp сервера силами proftpd"
Отправлено Дмитрий Ю. Карпов , 22-Ноя-09 13:42 
Или тонет... ;)

"Создание sftp сервера силами proftpd"
Отправлено QuAzI , 21-Ноя-09 19:28 
Почему-то когда выговаривают -ры, сразу вспоминается "миллион лет до нашей эры" и толпа дикарей, которые с блаженными лицами пытаются выговорить имя девчёнки.

"Создание sftp сервера силами proftpd"
Отправлено faust , 23-Ноя-09 23:16 
А по делу кто-нить скажет, или мы будем и дальше учить друг друга русскому языку?

"Создание sftp сервера силами proftpd"
Отправлено BirdGovorun , 23-Ноя-09 23:57 
Кто знает - тому пофиг, кто не знает - тому нафиг.
Вроде по делу высказался.

"Создание sftp сервера силами proftpd"
Отправлено alexey , 28-Авг-10 12:57 
А rsync с этим всем работать будет???

"Создание sftp сервера силами proftpd"
Отправлено samm , 28-Авг-10 17:00 
>А rsync с этим всем работать будет???

Дядя, какой рсинг? Вы неадекватны.


"Создание sftp сервера силами proftpd"
Отправлено tierpunk , 29-Авг-10 00:48 
>>А rsync с этим всем работать будет???
>
>Дядя, какой рсинг? Вы неадекватны.

Ничего личного, как говорится только учусь! Но просто интересно, можно ли к этому всему прикрутить rsync. Если нет, то почему?


"Создание sftp сервера силами proftpd"
Отправлено samm , 29-Авг-10 11:32 
>>>А rsync с этим всем работать будет???
>>
>>Дядя, какой рсинг? Вы неадекватны.
>
>Ничего личного, как говорится только учусь! Но просто интересно, можно ли к
>этому всему прикрутить rsync. Если нет, то почему?

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


"Создание sftp сервера силами proftpd"
Отправлено tierpunk , 29-Авг-10 13:38 
Я это знаю, но ведь rsync работает и через ssh/sftp. Вот я и предположил, что можно запустить rsync c proftpd-sftp. На сколько я понял, я ошибался и эта связка у меня не заработала.

"Создание sftp сервера силами proftpd"
Отправлено samm , 29-Авг-10 14:53 
>Я это знаю, но ведь rsync работает и через ssh/sftp. Вот я
>и предположил, что можно запустить rsync c proftpd-sftp. На сколько я
>понял, я ошибался и эта связка у меня не заработала.

У вас каша в голове.

1) Рсинк никогда не работал через сфтп. Совсем. СФТП - отдельный протокол, описанный в соответствующем RFC и не имеющий _никакого_ отношения к рсинк.
2) Рсинк умеет использовать SSH в качестве транспорта (!) (rsync over ssh), при этом за файл трансфер отвечает по прежнему программа рсинк, а ссх -  безопасный транспорт, и все. При этом в рсинк нет внутренней поддержки ссх, так что он использует для этих целей системный.
3) SFTP в proftpd НЕ использует системный ssh и реализует поддержку сфтп И транспорта собственными средствами, не используя системный sshd/ssh.

Надеюсь стало понятнее.


"Создание sftp сервера силами proftpd"
Отправлено tierpunk , 29-Авг-10 16:03 
>[оверквотинг удален]
>
>2) Рсинк умеет использовать SSH в качестве транспорта (!) (rsync over ssh),
>при этом за файл трансфер отвечает по прежнему программа рсинк, а
>ссх -  безопасный транспорт, и все. При этом в рсинк
>нет внутренней поддержки ссх, так что он использует для этих целей
>системный.
>3) SFTP в proftpd НЕ использует системный ssh и реализует поддержку сфтп
>И транспорта собственными средствами, не используя системный sshd/ssh.
>
>Надеюсь стало понятнее.

Да, я все понял и каши больше нет.
Спасибо Вам за разъяснения.


"Создание sftp сервера силами proftpd"
Отправлено catatanchik , 03-Мрт-14 21:24 
Настроил сертификаты, но при перезапуске/запуске proftpd запрашивает постоянно passphrase на ключ, как можно это дело автоматизировать. Пробовал использовать директиву SFTPPassPhraseProvider, но в итоге получал ошибку:
mod_sftp/0.9.8: error reading passphrase for SFTPHostKey '/root/.ssh/id_rsa': (unknown)
mod_sftp/0.9.8: unable to use key in SFTPHostKey '/root/.ssh/id_rsa', exiting

читал доку, но так и не понял что туда нужно вводить, у кого есть рабочий пример поделитесь плиз!


"Создание sftp сервера силами proftpd"
Отправлено samm , 03-Мрт-14 22:24 
> Настроил сертификаты, но при перезапуске/запуске proftpd запрашивает постоянно passphrase
> на ключ, как можно это дело автоматизировать. Пробовал использовать директиву SFTPPassPhraseProvider,
> но в итоге получал ошибку:
> mod_sftp/0.9.8: error reading passphrase for SFTPHostKey '/root/.ssh/id_rsa': (unknown)
> mod_sftp/0.9.8: unable to use key in SFTPHostKey '/root/.ssh/id_rsa', exiting
> читал доку, но так и не понял что туда нужно вводить, у
> кого есть рабочий пример поделитесь плиз!

Просто используйте ключ без passphrase


"Создание sftp сервера силами proftpd"
Отправлено catatanchik , 04-Мрт-14 16:03 
>> Настроил сертификаты, но при перезапуске/запуске proftpd запрашивает постоянно passphrase
>> на ключ, как можно это дело автоматизировать. Пробовал использовать директиву SFTPPassPhraseProvider,
>> но в итоге получал ошибку:
>> mod_sftp/0.9.8: error reading passphrase for SFTPHostKey '/root/.ssh/id_rsa': (unknown)
>> mod_sftp/0.9.8: unable to use key in SFTPHostKey '/root/.ssh/id_rsa', exiting
>> читал доку, но так и не понял что туда нужно вводить, у
>> кого есть рабочий пример поделитесь плиз!
> Просто используйте ключ без passphrase

Получилось, спасибо!