LINUX.ORG.RU

vsftpd, docker

 ,


0

1

На виртуальной машине с этим конфигом всё работает и локальные пользователи и любимые анонимы. А в контейнере я могу подключится анонимом, а локальным пользователем нет, на клиенте получаю: SSL_read returned -1 - error:0A0001BB:SSL routines::bad record type. Пытался что-то нагуглить, но ничего не нашёл. Кто встречался с таким?

Ты на сервере включи отладку и посмотри в логах что происходит.
И на каком этапе подключения у клиента это сообщение? Чем подключаешься?

pasv_min_port=40200
pasv_max_port=40300
Порты эти пробрось. (диапазон)

hbars ★★★★★
()
Последнее исправление: hbars (всего исправлений: 2)
Ответ на: комментарий от hbars

Может и не очень, но чем еще по быстрому залить файл на сервер без особого пердолинга?

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

Ну а так, например SFTP, sshfs (вообще ничего не сервере не требует, монтируешь на клиенте при наличии ssh-доступа, и всё), да хоть rsync.

CrX ★★★★★
()

vfstpd вроде вообще сломан

Просто добавь в конфиг openssh-server:

  openssh-server:
    image: lscr.io/linuxserver/openssh-server:latest
    container_name: openssh-server
    hostname: openssh-server #optional
    environment:
      - PUID=33
      - PGID=33
      - TZ=europe/Moscow
      - SUDO_ACCESS=false
      - PASSWORD_ACCESS=true
      - USER_PASSWORD=<password>
      - USER_NAME=<user>
    volumes:
      - /srv/deploy/wordpress:/home/wordpress
    ports:
      - <port>:2222
    networks:
      - "openssh-net"
    restart: unless-stopped

Он умеет работать в режиме эмуляции ftp. И не нужно заморачиваться с правами и тп.

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 2)
Ответ на: комментарий от LimpTeaM

The URL of a public server is baked into the library for use as a default, and will be freely available until volume or abuse makes it infeasible to support. Applications which desire more reliability can easily run their own relay and configure their clients to use it instead.

и в чём смысл, если в локальной сети всё равно свой сервер поднимать.

The file-transfer commands also use a “Transit Relay”, which is another simple server that glues together two inbound TCP connections and transfers data on each to the other (the moral equivalent of a TURN server).

Даже два сервера.

Логично было бы, чтобы в локальной сети оно умело друг друга через широковещательные пакеты находить или что-то в этом роде.

MirandaUser2
()
Ответ на: комментарий от firkax

Её все знают это sftp.

все знают

о существовании sftp действительно знают все.

sftp всё же не совсем альтернатива ftp. ftp например оффтопиком в какой-то мере поддерживается встроенно, браузеры имели встроенную поддержку ftp долгое время.

если б ты сказал, например, webdav я б еще понял - он и в оффтопике на макинтоше даже вроде поддерживается

asdpm
()
Ответ на: комментарий от asdpm

Да что ж такое?!

Надо выкидывать и фтп и всё то легаси, которое к нему прибито. Если у тебя есть надобность пошарить с какой-то домохозяйкой на оффтопике фтп - давай им ссылку на нормальный файловый клиент, работающий через sftp.

браузеры имели встроенную поддержку ftp долгое время.

Очень важное слово «имели» - её даже оттуда выкинули. Да и поддержка была односторонняя, только на скачивание (т.е. ничем не лучше http), а сейчас и такой нет.

firkax ★★★★★
()
Ответ на: комментарий от firkax

поддержка была односторонняя, только на скачивание

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

т.е. ничем не лучше http

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

asdpm
()
Ответ на: комментарий от asdpm

не позволяют скачать директорию.

Браузер и по фтп её скачать не может.

на чтение лучше чем вообще никак,

потому что по http все пользователи сервера не смогут закачивать

Речь была про «фтп потому что умеет браузер». И вообще фейковую проблему, которую ты описал, держатели фтп решили своими силами очень просто - параллельно фтп запустили http сервер на том же домене с тем же контентом, тем самым сделав полностью ненужным аналогичный функционал браузера, да ещё и выиграв если там https. Так что ориентироваться на «хотя бы читать могут» не надо, впрочем современные браузеры всё равно уже не умеют.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

держатели фтп решили своими силами очень просто - параллельно фтп запустили http сервер на том же домене с тем же контентом

что ты выдумываешь? какую проблему решили? это только для тех ftp которые изначально только на чтение. скачивание директорий это не даёт, запись тем более.

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

asdpm
()
Ответ на: комментарий от asdpm

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

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от hbars

Если это сервер (я знаю, что у ТС виртуалка, но я отвечал на сообщение, где было про сервер), то ssh-доступ нужен в первую очередь. В том числе и для того, чтобы установить и настроить FTP.

CrX ★★★★★
()
Ответ на: комментарий от MirandaUser2

The URL of a public server is baked into the library for use >as a default, and will be freely available until volume or abuse >makes it infeasible to support. Applications which desire more >reliability can easily run their own relay and configure their >clients to use it instead.

и в чём смысл, если в локальной сети всё равно свой сервер >поднимать.

The file-transfer commands also use a “Transit Relay”, which >is another simple server that glues together two inbound TCP >connections and transfers data on each to the other (the moral >equivalent of a TURN server).

Даже два сервера.

Логично было бы, чтобы в локальной сети оно умело друг друга >через широковещательные пакеты находить или что-то в этом роде.

ненадо ничего поднимать если хочется просто перекинуть картинку с котиками (а не что-то секретное) - оно итак работает..

для локальной сети есть localsend, но он к сожалению только с gui

LimpTeaM
()
Последнее исправление: LimpTeaM (всего исправлений: 1)
Ответ на: комментарий от CrX

Если это сервер (я знаю, что у ТС виртуалка, но я отвечал на сообщение, где было про сервер), то ssh-доступ нужен в первую очередь. В том числе и для того, чтобы установить и настроить FTP.

Кстати, если надо только шарить файлы, и именно в контейнере, и не хочется заморачиваться с юзерами, то есть же еще вот такая штука:

Docker Container for Syncthing

alx777 ★★
()
Ответ на: комментарий от hbars

Спасибо, что-то не подумал включить отладку (почему то думал что в логов достаточно), там вроде есть даже параметр. Сегодня попробую. Порты все проброшены. Я могу скачивать и заливать, кроме контейнера, там при вводе пароля выдаётся ошибка. Причём клиент использует сертификат сервака, wireshark показывает использование tls 1.3

SmilePlz
() автор топика
Ответ на: комментарий от SmilePlz

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

еще раз :)

Какой контейнер? Как добавил ключи? Как добавлял пользователей?

adn ★★★★
()
Ответ на: комментарий от adn
create_group() {
    log "Adding group ${FTP_GROUP} with GID ${GID}"
    addgroup -g "${GID}" -S "${FTP_GROUP}" || { log "Failed to add group ${FTP_GROUP}"; exit 1; }
}

create_user() {
    log "Adding user ${FTP_USER} with UID ${UID} and home directory /home/${FTP_USER}"
    adduser -D -G "${FTP_GROUP}" -h "/home/${FTP_USER}" -s /bin/false -u "${UID}" "${FTP_USER}" || { log "Failed to add user ${FTP_USER}"; exit 1; }
}
SmilePlz
() автор топика