Эта история Hacker News все о недостатках FTP. Единственная причина, по которой я мог настроить FTP, - это то, что это просто.
Я знаю и использую scp
уже, но иногда я хочу поделиться файлами с кем-нибудь, не сообщая им ssh
доступ к моему серверу. Я хочу, чтобы они могли выгружать и скачивать файлы, но ничего больше, и я хочу ограничить их одним каталогом. Я также хочу, чтобы их соединение было зашифровано, например ssh
.
Какие альтернативы FTP соответствуют этим критериям?
Proftpd имеет встроенный sftp-сервер, который позволит вам полностью отделить пользователей от sshd для целей передачи файлов. Вы можете настроить его так, чтобы он использовал полностью отдельный файл passwd, чтобы еще больше изолировать их (трудно войти в систему с помощью ssh и прорваться через chroot, если у вас на самом деле нет пользователя в / etc / passwd .. .)
proftpd также позволяет вам легко chroot и изолировать пользователя sftp для набора каталогов.
Делаем примерно так:
LoadModule mod_sftp.c
<VirtualHost 10.1.1.217>
ServerName "ftp.example.com"
# from http://www.proftpd.org/docs/howto/NAT.html
MasqueradeAddress 1.2.3.4
PassivePorts 27001 27050
UseSendfile off
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth
AuthUserFile /etc/proftpd/AuthUsersFile
AuthOrder mod_auth_file.c
<IfModule mod_sftp.c>
Port 10022
SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
SFTPEngine On
SFTPLog /var/log/proftpd/sftp.log
SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
MaxLoginAttempts 6
</IfModule>
</VirtualHost>
я хотел бы использовать WebDav с сервером с включенным https! Затем аутентификация основывается на стандартной схеме авторизации http. Можно найти руководство по настройке webdav с помощью apache Вот тогда нужно только поместить этот ресурс за https, и здесь я нашел хорошее описание, как это сделать который.
Вы не указали «бесплатно» как требование, поэтому я собираюсь выбросить пакет Mass Transit по grouplogic. Это, вероятно, немного излишне для большинства людей и выходит за рамки их ценового диапазона, но набор функций - не что иное, как чертовски фантастический. Получите второй сервер Mass Transit и включите автоматизацию, и вы очень быстро перемещаете некоторые файлы.
Вы можете настроить sftp
который использует ssh
в режиме, аналогичном ftp
.
Вы можете создать несколько пользователей (одного или нескольких, это зависит от того, разрешено ли каждому пользователю обращаться к файлам друг друга) на вашем компьютере, дать им shell / bin / false и chroot
каждого пользователя в какую-то директорию, в которую должны быть помещены эти файлы.
Вы можете использовать pure-ftpd с включенным шифрованием TLS. Конфигурация очень проста: включить шифрование и раскомментировать TLS в файле конфигурации (только одна строка :)), настроить клиентов для подключения через ftps и все. (Вы должны помнить, что не все клиенты ftp поддерживают ftps).
Вы можете включить загрузку и загрузку с помощью rsync через ssh без разрешения входа в систему, установив rsync в качестве оболочки входа для пользователя. Это позволяет использовать все преимущества ssh, включая входы в систему с сертификатами, шифрование и стандартные операции с разрешениями файловой системы, при этом не включаются учетные записи оболочки (поскольку у учетной записи не будет оболочки, но будет rsync =)).