LINUX.ORG.RU

Ответ на: комментарий от firkax
Причём тут логи, ему же пишет что юзер «correct» не создан.

Такая проблема не только на Ubuntu server а и на Desktop. Ставить Debian server?

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

Ошибка 530 это login incorrect. Просто ТС не смог переписать без ошибок сообщение об ошибке…

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

Да, Debian лучше чем Ubuntu.

Поставлю ради интереса, вдруг заработает тем более установщик Lamp под Debian

Epizot
() автор топика

Если тебе ftp нужен только чтобы заливать файлы на web-сервер, то используй winscp или другой scp клиент подключаясь по протоколу sftp (ssh). В Linux в gnome / cinnamon в достаточно прописать в адресной строке sftp://server/ или sshfs://server/, будут запрошены логин и пароль и ты получишь доступ к директории на сервере.

Чтобы попадать сразу в нужную директорию укажи пользователю переменную HOME на неё.

По поводу sftp:// и sshfs:// могу немного ошибаться, погугли.

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

Руководства, которые выкладываются на указанном тобой сайте с ошибками и видно, что те, кто готовят материал для сайта не понимаю то, о чём пишут.

В общем, это плохой сайт с руководствами. Советую тебе с него ничего не использовать.

Не только чтобы заливать,

Ну можешь ещё и скачивать.

Попробуй протокод scp (sftp) и если тебя он не будет устраивать, то пробуй настраивать по официальной документации Debian: https://wiki.debian.org/vsftpd

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

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

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

Я вернул назад vsftpd.conf, но -bash ftp: команда не найдена. Если sftp localhost, заходит, если sftp domain, пишет connect closed bu IP port 22

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

Я вернул назад vsftpd.conf, но -bash ftp: команда не найдена.

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

apt install ftp

Не понимаю как может быть связано содержимое конфигурационного файла vsftpd и наличие клиента ftp.

Если sftp localhost, заходит, если sftp domain, пишет connect closed bu IP port 22

Проверь для начала, что указанный тобой домен разрешается в IP адрес на той машине с которой ты пытаешься подключиться.

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

Установи пакет net-tools

apt install net-tools

И удостоверься, что sshd слушает 22 порт на всех IP адресах

netstat -tulpn | grep ssh

Удостоверься, что в настройках пакетного фильтра нет ограничений на подключение

iptables-save

Если ничего не выводится или такой команды нет, то ты не ставил iptables и ничего в нём не менял.

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

Можешь даже просто проверить

ping domain

Можешь так же установить пакет bind9-dnsutils и проверить разрешение доменного имени

apt install bind9-dnsutils
nslookup domain

Как только с этим разберёшься всё заработает.

Ну и я тебе советую почитать как работает интернет, что такое доменное имя, что такое DNS сервер, как работает разрешение доменных имён, зачем нужен файл /etc/hosts.

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

Также, если твой сайт находится на одной машине, а во внешнем мире он доступе с другой машины на которой настроен проброс порта 80 / 443 на твою машину, то тебе нужно также настроить проброс порта 22 на твою машину или другого порта на 22 порт твоей машины.

В этом случае указывай при подключении по sftp номер этого порта.

В общем, проверяй и если что-то не будет получаться давай данные, как у тебя в первую очередь всё настроено.

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

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

Первая команда apt install ..., вторая команда nslookup .... В случае если бы это была одна команда, то символа переноса не было бы.

anonymous
()
Ответ на: комментарий от Epizot
netstat -tulpn | grep ssh

Пустой выхлоп, как не рабочая команда

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

Смотри тогда целиком.

netstat -tulpn

Что слушает 22 порт.

Возможно, чтобы увидеть, что 22 порт слушает sshd нужно выполнять команду от имени root.

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

Я сделал все с нуля, кроме как переустановки Debian server и этих трех команд с сайта с мануалом

sudo useradd -m -c "Test User" -s /bin/bash testuser

sudo passwd testuser

-

echo "testuser" | sudo tee -a /etc/vsftpd.userlist

А также установил все пакеты которые вы указали, кроме nslookup domain, но зайти на сервер не получается даже по тому второму мануалу.

Порт 22 прописан на tcp

Может на роутере, напутано с разрешениями? Я отключил на нем ftp потому, что попадаю на флешку которая в роутере.

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

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

А также установил все пакеты которые вы указали, кроме nslookup domain

nslookup domain

Это не пакеты, а вызов команды nslookup с параметром domain и вместо domain ты должен написать имя домена, которое ты указывал в этой команде:

sftp domain, пишет connect closed bu IP port 22

И утилита sftp подключается не к FTP серверу, а к ssh серверу на 22 порт. И чтобы она подключилась по доменному имени нужен вывод всех тех команд.

sftp - SSH File Transfer Protocol.

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

Ну как бы подключение по доменному имени

sftp domain

Должно происходить.

В выводе nslookup domain указан IP адрес домена.

Ты подключаешься по sftp с самого же сервера я правильно понимаю или нет?

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

Если ты подключаешься по sftp с самого же сервере, то на нём должен быть указанный в nslookup IP адрес.

А если на нём нет IP адреса, то подключиться так по доменному имени с самого сервера не получится. И у тебя видимо есть проброс портов.

В этом случае в файле /etc/hosts нужно сделать привязку этого доменного имени к IP адресу 127.0.0.1 и тогда с самого сервера тоже будет подключаться по доменному имени.

Но ты это пока не осмысливай сильно. А ответь на вопросы: Ты подключаешься по sftp с самого сервера или нет? На сервере самом есть указанный в выводе nslookup domain IP адрес или нет, смотри вывод ip a?

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

Какие IP адреса на самом сервере, есть ли на его интерфейсе адрес 46.173.X.Y, указанный в выводе nslookup.

Если нет, то с самого сервера работать не будет. Пока ты не пропишешь в файл /etc/hosts строчку

127.0.1.1	domain.subdomain.zone	domain

Замени на своё доменное имя по аналогии.

В выводе

hostname -f

Ты должен увидеть своё полное доменное имя. И оно должно пинговаться с самого сервера как 127.0.0.1 ну или другой IP адрес в сети 127.0.0.0.

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

Что такое 46.173.X.Y и как с него у тебя пробрасываются порты на твой сервер подключенный по wifi?

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

http://piccy.info/view3/15137277/e0cab1599a8012a1b757f99b3a881d75/ Правильно?

Я не знаю как объяснить. У меня на компе сервер с него и подключаюсь по sftp к самому себе на комп.

Сам я ничего не пробрасывал, только то, что вы мне указали

hostname -f

debian

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

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

Ну уточни что ты понимаешь под сервером.

В выводе nslookup domain у тебя есть IP адрес 46.173.X.Y. На системе где ты вызываешь команду sftp domain у тебя IP адрес 192.168.0.177.

На схеме нарисуй, что и где находится, по каким IP адресам доступно, откуда и куда ты хочешь подключаться.

Без этого дальше ничего не получится, а если и получится, то в виду твоего непонимания в целом ты можешь себе навредить.

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

/etc/hosts неправильный, смотри внимательно ещё раз:

127.0.1.1	domain.subdomain.zone	domain

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

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

192.168.0.177 это адрес компа на котором сервер

А это 46.173.X.Y. адрес который провайдер мне его присвоил. Статитический или как там его...

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

А тебя не смущает, что твой домен разрешается в IP адрес 46.173.X.Y, а IP адрес компа на котором сервер 192.168.0.177?

Поэтому нарисуй схему как подключен сервер к Internet, как подключено всё остальное.

Apache из внешнего мира по указанному доменному имени открывается - значит идёт проброс порта.

Попробуй сделать ping указанного тобой доменного имени с самого сервера и пинг должен идти на 127.0.0.1 и потом пробуй подключаться по sftp.

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

Это всё понятно, кто настраивал доступ из внешнего мира до компа, провайдер?

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

Или ты сам настраивал?

Вот всё же нарисуй схему подключения всего, а потом можно думать дальше.

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

Вот всё же нарисуй схему подключения всего, а потом можно думать дальше.

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

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

Смотри, если тебе нужно подключаться по sftp по доменному имени только с самого сервера на себя же, то записи в /etc/hosts, если ты её всё же правильно сделал достаточно. Правильно - значит доменное имя с самого сервера пингуется по адресу 127.0.0.1 или другому из сети 127.0.0.0/8 в зависимости от того, что ты написал.

Для подключения с других компьютеров в твоей локальной сети тебе нужно прописать соответствие доменного имени IP адресу 192.168.0.177 в файле /etc/hosts на каждом компьютере, либо если это возможно на DNS сервере 192.168.0.1.

В Linux и Windows файл hosts есть.

Для доступа из внешнего мира нужно делать проброс портов.

Но тут есть нюансы безопасности, потому,что ssh это в первую очередь удалённая командная строка. И в случае предоставления доступа из вне с простым паролем может быть не безопасно. А лучше включить авторизацию только по ключам, без ввода пароля.

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

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

Запретить входить по ssh можно через указание /bin/false как оболочки пользователя, но в любом случае нужно разобраться как у тебя все настроено.

И твоих коментариев о том откуда ты хочешь подключаться нет, как и ответов получилось ли сделать то, что описано выше и подключиться по sftp по доменному имени тоже.

anonymous
()

Без приколов, но зачем нужен ftp в 2021м веке?

Последний раз юзал закинуть игру на прошитый Xbox 360.

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

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

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

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

Сделай, как умные дяди советуют. Но для начала научись читать документацию и попробуй составить себе цельную картину мира. Начинать можно с модели OSI, потом на TCP/IP посмотреть.

Есть такой лабстенд для изучения цисок (а заодно и сетей вообще), называется GNS3. Можно его поставить, погуглить лабы и играться.

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

Все ftp есть. Тему можна прикрывать.

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

У меня еще один вопрос, почему write_enable=YES не дает разрешение на запись во все папки а только в /home/testuser

Я его собственно и установил чтоб можно было редактировать системные папки а не только /home/testuser

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

Дай пользователю под которым входишь по ftp права на запись в нужные тебе папки (директории)

Только не делай сразу на всю файловую систему, поломаешь систему.

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

А пользователей как перечислять? $USER1=testuser1, testuser2,testuser3

$USER2=testuser10, testuser20,testuser30

user_sub_token=$USER1 local_root=/home/$USER1/

user_sub_token=$USER2 local_root=/var/www/$USER2/

Или как? Я вроде с local_root переборщил. Мне просто всех пользователей для одной папки назначать не надо, а типо разные пользователи разные папки. Сейчас правило действует каждый пользователь голова своей именной папки

Epizot
() автор топика
Последнее исправление: Epizot (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.