Код ошибки SFTP 127 не работает в протоколе sftp

Начнём с того, что если Вы озаботились использованием SFTP протокола — Вы на правильном пути!

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

Самый универсальный способ соединиться с сервером по SFTP протоколу — попросить провайдера включить для Вашего аккаунта доступ к серверу по ssh и прислать данные для этого подключения. Далее просто указываем эти данные в профиле подключения в WinSCP клиенте. Примерно так:

Код ошибки SFTP 127 не работает в протоколе sftp

Если SSH доступ к серверу у Вас включён, в 99% случаев WinSCP будет работать. Надо сказать, что данный подход позволит решить проблемы подключения и в других SFTP клиентах (Filezilla, CyberDuck, FireFTP, GFTP, Chrome sFTP Client и прочих).

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

  • Печать

Страницы: [1]   Вниз

Тема: Не могу подключиться по SFTP  (Прочитано 13820 раз)

0 Пользователей и 1 Гость просматривают эту тему.

neonox

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

Дано: VPS – Ubuntu Server 12.04SSH серверПользователь которому нужно получить доступ к серверу по SFTP

Требуется подключиться к серверу используя WinSCP по протоколу SFTP. При попытке подключиться получаю ошибку

Cannot initialize SFTP protocol. Is the host running a SFTP server?

Вот конфиг sshd_config


AnrDaemon

И показывайте найтройки WinSCP.

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.


fisher74

видимо параноя требует порт 2222, так что надо просто перепроверить что в настройках соответствие в WinSCPИ ещё один вопрос. А ssh работает? пробовали подключатьсячто показывает телнет

telnet ip-server 2222

Принимаю благодарности в WMR и WMZ на кошельки:R158160676909 и Z313280060764


ArcFi

И на самом сервере проверяйте:


neonox

Изменил порт на 22, т.к. и через SSH не смог подключиться. Через SSH подключаюсь нормально, но через WinSCP так и не могу подключиться. Ошибка происходит на этапе ввода пароля пользователя


ArcFi

От меня пишет, что порт открыт:

$ nmap 146.185.166.31 -p22 -sV | grep ^22
22/tcp open  ssh     OpenSSH 5.9p1 Debian 5ubuntu1.1 (Ubuntu Linux; protocol 2.0)


AnrDaemon

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

Тогда, вероятно, проблема не в настройках?

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.


neonox

Тогда, вероятно, проблема не в настройках? :)

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

Вот что в логах, при попытке подключиться через Putty


Пользователь решил продолжить мысль 27 Октября 2013, 16:06:33:


Всем спасибо за помощь. Решил проблему. Дело было в оболочке. Вместо /bin/bash была /bin/date.

« Последнее редактирование: 27 Октября 2013, 16:06:33 от neonox »


fisher74

Подключиться под рутом получается.

Эммм, так ведь

Вот конфиг sshd_config
..
PermitRootLogin no

Или уже и до этого параметра дошли в процессе изыскания?Не забудьте вернуть назад

Дело было в оболочке. Вместо /bin/bash была /bin/date.

Принимаю благодарности в WMR и WMZ на кошельки:R158160676909 и Z313280060764


neonox

Или уже и до этого параметра дошли в процессе изыскания?
Не забудьте вернуть назад

Да, пробовал, проверял. Уже вернул обратно.

Этож как надо изголиться, чтобы /bin/date в качестве оболочки выставить….?

создавал пользователей через ISPmanager


  • Печать

Страницы: [1]   Вверх


Я пытаюсь использовать SFTP с Filezilla, но он не может подключиться к серверу, и я думаю, что это связано с правилами брандмауэра?

Я могу SSH абсолютно нормально. Порт для SSH – 6128. Может кто-нибудь сказать мне, какие изменения я должен сделать, чтобы разрешить FTP-соединение через SSH, учитывая, что SSH уже работает?

(Вот мои правила IPtables)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9987
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:10011
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:30033
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:6128
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere





Ответы:


Чтобы получить доступ к вашему sftp с других хостов, пожалуйста, убедитесь, что следующее установлено и настроено правильно.

  • Установленные серверы OpenSSH
  • Настроил sshd_config
    • PubkeyAuthentication да
    • Подсистема sftp internal-sftp
  • Добавил ваш открытый ключ в ~ / .ssh / authorized_keys

  • Запустите сервер ssh с открытым портом 22 / TCP
    # /etc/init.d/sshd start

  • # iptables -I INPUT -j ACCEPT -p tcp --dport 22




В моем случае пользователь имел zshверхнюю часть своего файла .bashrc, чтобы он мог перейти в оболочку zsh вместо bash.





Ваше антивирусное программное обеспечение также может вызвать это. Мы столкнулись с этим недавно. sshчерез PuTTY работал нормально, но WinSCP не смог подключиться. Начал работать после настройки исключения в Антивирусе.


Если вы используете filezilla, мне помог следующий ответ:

В Filezilla выберите в меню «Правка» -> «Настройки», на левой панели – «Соединение» -> «SFTP». На правой стороне убедитесь, что у вас есть правильный файл закрытого ключа, или добавьте, если отсутствует правильная запись.


Мой ответ на аналогичный вопрос по serverfault :

Я просто столкнулся с этой проблемой (специально для sftp, но не для ssh, где я мог подключиться без проблем), и ни одно из решений здесь не помогло мне. В моем случае это было связано с слишком большим количеством ключей ssh ​​(IdentityFile) ~/.ssh/. Кажется, что, когда у вас нет записи хоста ~/.ssh/configдля хоста, к которому вы пытаетесь подключиться с помощью правильного ключа, он просто отправляет все ваши ключи один за другим. У меня было более 6 ключей, и, конечно же, по умолчанию MaxAuthTriesустановлено 6 (по крайней мере, в Ubuntu).

Решением было отредактировать сервер /etc/ssh/sshd_configи увеличить его MaxAuthTries. Я установил мой на 10.

#MaxAuthTries 6
MaxAuthTries 10


Почему есть два способа настройки SFTP с OpenSSH и когда использовать какой? Есть ли разница между ними?

Я имею в виду, что первый использует lib из OpenSSH, а второй говорит «использовать внутреннее», так что это тоже OpenSSH?

Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Ответы:


Оба sftp-serverи internal-sftpявляются частью OpenSSH. sftp-serverэто отдельный бинарный файл internal-sftpэто просто ключевое слово конфигурации, которое указывает sshdиспользовать встроенный код сервера SFTP sshdвместо запуска другого процесса (обычно sftp-server).


С функциональной точки зрения sftp-serverи internal-sftpпрактически идентичны. Они построены из одного и того же исходного кода.

Основным преимуществом internal-sftpявляется то, что он не требует поддержки файлов при использовании с ChrootDirectoryдирективой .

Цитаты из sshd_config(5)справочной страницы :

  • Для Subsystemдирективы :

    Команда sftp-serverреализует подсистему передачи файлов SFTP.

    Альтернативно, имя internal-sftpреализует внутрипроцессный SFTP-сервер. Это может упростить использование конфигурации, ChrootDirectoryчтобы принудительно установить другой корень файловой системы на клиентах.

  • Для ForceCommandдирективы :

    Указание команды internal-sftpзаставит использовать внутрипроцессный SFTP-сервер, который не требует файлов поддержки при использовании с ChrootDirectory.

  • Для ChrootDirectoryдирективы :

    Он ChrootDirectoryдолжен содержать необходимые файлы и каталоги для поддержки сеанса пользователя. Для интерактивного сеанса для этого требуется , по меньшей мере оболочка, как правило sh, и основные /devузлы , такие как null, zero, stdin, stdout, stderr, и ttyустройство. Для сеансов передачи файлов с использованием SFTP дополнительная настройка среды не требуется, если используется внутрипроцессный sftp-сервер, хотя /dev/logв некоторых операционных системах сеансы, использующие ведение журнала, могут потребоваться внутри каталога chroot ( sftp-serverподробности см. ).

Еще одним преимуществом internal-sftpявляется производительность, так как для этого не нужно запускать новый подпроцесс.

Читайте также:  Код ошибки 1012 в Windows 10 при попытке чтения файла локальных узлов

Он internal-sftpбыл добавлен намного позже (OpenSSH 4.9p1 в 2008 году?), Чем автономный sftp-serverбинарный файл, но сейчас он используется по умолчанию.

Я считаю, что нет причин использовать sftp-serverдля новых установок.


Может показаться, что его sshdможно автоматически использовать internal-sftp, когда он встречается sftp-server, так как функциональность идентична и internal-sftpимеет даже вышеуказанные преимущества. Но есть крайние случаи, когда есть различия.

  • Администратор может полагаться на конфигурацию оболочки входа, чтобы предотвратить вход определенных пользователей. Переключение на режим internal-sftpобойдет ограничение, так как оболочка входа больше не используется.

  • Используя sftp-serverбинарный файл (будучи автономным процессом), вы можете использовать некоторые хаки, такие как запуск SFTPsudo .

  • Для SSH-1 (если кто-то все еще его использует) Subsystemдиректива вообще не задействована. SFTP-клиент, использующий SSH-1, в явном виде сообщает серверу, какой двоичный файл должен выполнять сервер. Таким образом, устаревшие SFTP-клиенты SSH-1 имеют sftp-serverжестко запрограммированное имя.



Вы можете заблокировать авторизованный ключ к внешнему sftp-серверу.

command = "/ usr / libexec / openssh / sftp-server" ssh-rsa AAAA… == user@host.com

Когда вы это сделаете, ваш пользователь может sftp, но не может scp или ssh:

Хост $ sftp: / etc / group / tmp
Подключение к хосту ...
Извлечение / etc / group в / tmp / group
/ etc / group 100% 870 0,9 КБ / с 00:00

Попытка сделать что-нибудь еще будет просто зависать:

$ scp host: / etc / group / tmp
Убит по сигналу 2.

$ ssh host uptime
Убит по сигналу 2.

Увы, нет простого способа заблокировать ключ в chroot, если sshd_config не изменен. Это было бы здорово, если бы пользователь мог обходиться без вмешательства системного администратора.



Моим Сервером является Ubuntu 14.04.5 LTS, и я могу соединиться через SSH с PuTTY, но я не могу соединиться через WinSCP.

Когда я пытаюсь соединиться через WinSCP, он дает ошибку:

Соединение было неожиданно закрыто. сервер отправил статус выхода команды 127

Connection has been unexpectedly closed

Ниже файл журнала

. 2019-01-23 15:40:22.694 --------------------------------------------------------------------------
. 2019-01-23 15:40:22.694 WinSCP Version 5.13.7 (Build 9125) (OS 6.1.7601 Service Pack 1 - Windows 7 Professional)
. 2019-01-23 15:40:22.694 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2019-01-23 15:40:22.695 Log level: Normal
. 2019-01-23 15:40:22.695 Local account: D146\Subhash
. 2019-01-23 15:40:22.695 Working directory: C:\Program Files (x86)\WinSCP
. 2019-01-23 15:40:22.695 Process ID: 6672
. 2019-01-23 15:40:22.696 Command-line: "C:\Program Files (x86)\WinSCP\WinSCP.exe" 
. 2019-01-23 15:40:22.696 Time zone: Current: GMT+5:30 (India Standard Time), No DST
. 2019-01-23 15:40:22.696 Login time: 23 January 2019 PM 3:40:22
. 2019-01-23 15:40:22.696 --------------------------------------------------------------------------
. 2019-01-23 15:40:22.696 Session name: winscp testing (Site)
. 2019-01-23 15:40:22.696 Host name: 71.6.186.24 (Port: 22)
. 2019-01-23 15:40:22.697 User name: root (Password: Yes, Key file: No, Passphrase: No)
. 2019-01-23 15:40:22.697 Tunnel: No
. 2019-01-23 15:40:22.697 Transfer Protocol: SFTP
. 2019-01-23 15:40:22.697 Ping type: Off, Ping interval: 30 sec; Timeout: 15 sec
. 2019-01-23 15:40:22.697 Disable Nagle: No
. 2019-01-23 15:40:22.697 Proxy: None
. 2019-01-23 15:40:22.697 Send buffer: 262144
. 2019-01-23 15:40:22.697 SSH protocol version: 2; Compression: No
. 2019-01-23 15:40:22.697 Bypass authentication: No
. 2019-01-23 15:40:22.697 Try agent: Yes; Agent forwarding: No; TIS/CryptoCard: No; KI: Yes; GSSAPI: Yes
. 2019-01-23 15:40:22.697 GSSAPI: Forwarding: No; Libs: gssapi32,sspi,custom; Custom: 
. 2019-01-23 15:40:22.697 Ciphers: aes,chacha20,blowfish,3des,WARN,arcfour,des; Ssh2DES: No
. 2019-01-23 15:40:22.697 KEX: ecdh,dh-gex-sha1,dh-group14-sha1,rsa,WARN,dh-group1-sha1
. 2019-01-23 15:40:22.697 SSH Bugs: Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto
. 2019-01-23 15:40:22.697 Simple channel: Yes
. 2019-01-23 15:40:22.697 Return code variable: Autodetect; Lookup user groups: Auto
. 2019-01-23 15:40:22.697 Shell: default
. 2019-01-23 15:40:22.697 EOL: LF, UTF: Auto
. 2019-01-23 15:40:22.697 Clear aliases: Yes, Unset nat.vars: Yes, Resolve symlinks: Yes; Follow directory symlinks: No
. 2019-01-23 15:40:22.697 LS: ls -la, Ign LS warn: Yes, Scp1 Comp: No
. 2019-01-23 15:40:22.697 SFTP Bugs: Auto,Auto
. 2019-01-23 15:40:22.697 SFTP Server: default
. 2019-01-23 15:40:22.698 Local directory: C:\Users\Subhash\Documents, Remote directory: /, Update: Yes, Cache: Yes
. 2019-01-23 15:40:22.698 Cache directory changes: Yes, Permanent: Yes
. 2019-01-23 15:40:22.698 Recycle bin: Delete to: No, Overwritten to: No, Bin path: 
. 2019-01-23 15:40:22.698 DST mode: Unix
. 2019-01-23 15:40:22.698 --------------------------------------------------------------------------
. 2019-01-23 15:40:22.722 Looking up host "71.6.186.24" for SSH connection
. 2019-01-23 15:40:22.722 Connecting to 71.6.186.24 port 22
. 2019-01-23 15:40:22.977 We claim version: SSH-2.0-WinSCP_release_5.13.7
. 2019-01-23 15:40:23.234 Server version: SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
. 2019-01-23 15:40:23.235 We believe remote version has SSH-2 channel request bug
. 2019-01-23 15:40:23.235 Using SSH protocol version 2
. 2019-01-23 15:40:23.235 Have a known host key of type ecdsa-sha2-nistp256
. 2019-01-23 15:40:23.491 Doing ECDH key exchange with curve nistp256 and hash SHA-256
. 2019-01-23 15:40:23.822 Server also has ssh-dss/ssh-rsa host keys, but we don't know any of them
. 2019-01-23 15:40:23.822 Host key fingerprint is:
. 2019-01-23 15:40:23.822 ecdsa-sha2-nistp256 256 f0:39:24:5c:63:12:5a:0d:e3:35:08:3d:91:d2:9f:53 7HbkGPzNm6tuAiqUoEpiHX4jxoNzxJgXQjWOgjuKGM8=
. 2019-01-23 15:40:23.871 Host key matches cached key
. 2019-01-23 15:40:23.871 Initialised AES-256 SDCTR client->server encryption
. 2019-01-23 15:40:23.871 Initialised HMAC-SHA-256 client->server MAC algorithm
. 2019-01-23 15:40:23.871 Initialised AES-256 SDCTR server->client encryption
. 2019-01-23 15:40:23.871 Initialised HMAC-SHA-256 server->client MAC algorithm
! 2019-01-23 15:40:24.426 Using username "root".
. 2019-01-23 15:40:24.744 Server offered these authentication methods: publickey,password,keyboard-interactive
. 2019-01-23 15:40:24.745 Attempting keyboard-interactive authentication
. 2019-01-23 15:40:25.002 Server refused keyboard-interactive authentication
. 2019-01-23 15:40:25.002 Server offered these authentication methods: publickey,password,keyboard-interactive
. 2019-01-23 15:40:25.002 Prompt (password, "SSH password", <no instructions>, "&Password: ")
. 2019-01-23 15:40:25.002 Using stored password.
. 2019-01-23 15:40:25.059 Sent password
. 2019-01-23 15:40:25.331 Access granted
. 2019-01-23 15:40:25.331 Opening session as main channel
. 2019-01-23 15:40:25.585 Opened main channel
. 2019-01-23 15:40:26.134 Started a shell/command
. 2019-01-23 15:40:26.148 --------------------------------------------------------------------------
. 2019-01-23 15:40:26.148 Using SFTP protocol.
. 2019-01-23 15:40:26.149 Doing startup conversation with host.
. 2019-01-23 15:40:26.149 Server sent command exit status 127
. 2019-01-23 15:40:26.150 Disconnected: All channels closed
* 2019-01-23 15:40:26.187 (EFatal) **Connection has been unexpectedly closed.** Server sent command exit status 127.

задан
24 January 2019 в 18:00

поделиться

исправить

Зачем нужен 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 - воспользоваться моим 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.

Корень / Администратору / Сетевые сервисы / FTP, Bittorrent

Читайте также:  Распространенные ошибки в приложении XMEYE

  • 1.1, IGX (?), 18:32, 20/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В русском языке слово “сервер” во множественном числе звучит как “серверы”, а не “сервера”.
     
     

  • 2.3, Samm (??), 19:30, 20/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftpОчень, очень важное замечание. Только с чего бы ему так звучать?
     

  • 2.4, V (??), 20:52, 20/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    нубы безграмотные, слово “сервера” используется на профессиональном уровне, в то время как “серверы” — общепринятое множественное число, используемое в документах и просторечье.
     
     

  • 3.7, Султан (?), 05:54, 21/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, как “трактора”, “комбанера”… Развелось “председателей колхозов”…
     

  • 3.10, gedeon (?), 11:31, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В словаре приведено окончание для родительного падежа, посмотрите например слово “колхозник”, там тоже указано окончание “а”.
     

  • 2.8, QuAzI (ok), 19:28, 21/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Почему-то когда выговаривают -ры, сразу вспоминается “миллион лет до нашей эры” и толпа дикарей, которые с блаженными лицами пытаются выговорить имя девчёнки.
     

  • 1.11, faust (??), 23:16, 23/11/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А по делу кто-нить скажет, или мы будем и дальше учить друг друга русскому языку?
     
     

  • 2.12, BirdGovorun (??), 23:57, 23/11/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftpКто знает – тому пофиг, кто не знает – тому нафиг.

    Вроде по делу высказался.
     

     

  • 2.14, samm (?), 17:00, 28/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А rsync с этим всем работать будет???

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

     
     

  • 3.15, tierpunk (ok), 00:48, 29/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftp>>А rsync с этим всем работать будет???

    >

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

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

     
     

  • 4.16, samm (?), 11:32, 29/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>А rsync с этим всем работать будет???

    >>

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

    >

    >Ничего личного, как говорится только учусь! Но просто интересно, можно ли к

    >этому всему прикрутить rsync. Если нет, то почему?

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

     
     

  • 5.17, tierpunk (ok), 13:38, 29/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftpЯ это знаю, но ведь rsync работает и через ssh/sftp. Вот я и предположил, что можно запустить rsync c proftpd-sftp. На сколько я понял, я ошибался и эта связка у меня не заработала.
     
     

  • 6.18, samm (?), 14:53, 29/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftp>Я это знаю, но ведь rsync работает и через ssh/sftp. Вот я

    >и предположил, что можно запустить rsync c proftpd-sftp. На сколько я

    >понял, я ошибался и эта связка у меня не заработала.

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

    1) Рсинк никогда не работал через сфтп. Совсем. СФТП – отдельный протокол, описанный в соответствующем RFC и не имеющий _никакого_ отношения к рсинк.

    2) Рсинк умеет использовать SSH в качестве транспорта (!) (rsync over ssh), при этом за файл трансфер отвечает по прежнему программа рсинк, а ссх –  безопасный транспорт, и все. При этом в рсинк нет внутренней поддержки ссх, так что он использует для этих целей системный.

    3) SFTP в proftpd НЕ использует системный ssh и реализует поддержку сфтп И транспорта собственными средствами, не используя системный sshd/ssh.

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

     
     

  • 7.19, tierpunk (ok), 16:03, 29/08/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftp>[оверквотинг удален]

    >

    >2) Рсинк умеет использовать SSH в качестве транспорта (!) (rsync over ssh),

    >при этом за файл трансфер отвечает по прежнему программа рсинк, а

    >ссх –  безопасный транспорт, и все. При этом в рсинк

    >нет внутренней поддержки ссх, так что он использует для этих целей

    >системный.

    >3) SFTP в proftpd НЕ использует системный ssh и реализует поддержку сфтп

    >И транспорта собственными средствами, не используя системный sshd/ssh.

    >

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

    Да, я все понял и каши больше нет.

    Спасибо Вам за разъяснения.

     

  • 1.20, catatanchik (ok), 21:24, 03/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftpНастроил сертификаты, но при перезапуске/запуске 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

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

     
     

  • 2.21, samm (ok), 22:24, 03/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftp> Настроил сертификаты, но при перезапуске/запуске 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

     
     

  • 3.22, catatanchik (ok), 16:03, 04/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Код ошибки SFTP 127 не работает в протоколе sftp>> Настроил сертификаты, но при перезапуске/запуске 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

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

     

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

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

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





    Ответы:


    Редактировать:

    Теперь перейдем к исходному ответу:


    Закомментируйте поддержку sftp в sshd_config (и, конечно, перезапустите sshd):

    #Subsystem sftp /usr/lib/openssh/sftp-server







    Как уже упоминали другие, отключение sftpдалеко не достаточно – пользователь с неограниченным sshдоступом может просматривать любой файл, доступ к которому имеет его учетная запись, может изменять все, что он имеет право изменять, и может легко загружать все, что он может читать, для своих собственных машина. Единственный способ помешать им сделать это – фактически ограничить их доступ. Также не стоит полагаться на .profileограничение пользователей, поскольку это не то, для чего это (Правка: как упоминает Алекси в своем ответе, на самом деле тривиально обойтись .profile; суть в том, .profileчто это для удобства, а не безопасности, поэтому это не так. предназначен для ограничения пользователей. Используйте средства, разработанные для обеспечения безопасности (например, приведенные ниже, для обеспечения безопасности).

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

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

    Match Group customers
    ForceCommand /path/to/app
    

    Это делает так, чтобы все соединения от пользователей в этой группе открывали консольное приложение; они не могут запускать что-либо еще, включая sftpинструмент сервера. Это также мешает им делать что – либо еще с системой, и, в отличие от этого .profile, делает это с использованием самого SSH-сервера ( .profileограничивает их в оболочке, а ForceCommandтакже предотвращает другие действия, не связанные с запуском оболочки). Также в отличие от .profileэтого, это разработано как вещь безопасности; это специально сделано, чтобы противостоять злоумышленнику, уклоняющемуся от него.

    Альтернатива (вероятно, низшая) может включать создание нового пользователя для запуска консольного приложения. Затем вы ограничите каталоги данных этим пользователем, установите консольное приложение, принадлежащее этому пользователю, и включите u+sпрограмму. Это setuidбит; это означает, что тот, кто запускает консольную программу, делает это с разрешениями владельца программы. Таким образом, пользователь сам не имеет доступа к каталогам, он получает его только через программу. Тем не менее, вы, вероятно, должны просто использовать ForceCommand, поскольку это ограничивает весь доступ к «просто запустить эту программу».





    Не пытайтесь делать это, .profileпотому что это не обеспечивает никакой безопасности и абсолютно ничего не ограничивает!

    Как говорили cpast и некоторые комментаторы, вы должны использовать надлежащие механизмы для ограничения доступа. То есть,

    • Использовать ForceCommandвsshd_config
    • Используйте логин без пароля и command="..."в.ssh/authorized_keys
    • Измените оболочку пользователя на что-то, что ограничивает возможности пользователя
    • command="..." применяется только к одному ключу, поэтому он не ограничивает ssh вход в систему для пользователя, использующего пароль или другой ключ
    • Возможно, вы также захотите ограничить переадресацию портов и т. Д. (О которых я слышал – переадресация портов, пересылка x11, переадресация агентов и распределение pty)
      • AllowTcpForwarding и т. д. в sshd_config
      • no-port-forwarding и т. д. в .ssh/authorized_keys
    • Если у вас запущены другие демоны (например, FTP), вы должны убедиться, что они не впускают пользователя (некоторые демоны принимают это решение на основе оболочки пользователя, поэтому, если вы измените это, вы можете захотеть еще раз проверить это)
    • Вы можете изменить оболочку пользователя на скрипт, который делает то, что вы хотите; это либо без аргументов, либо какscript -c 'command-the-user-wanted-to-run'
    • Обе команды ForceCommandи command="..."запускают команду через пользовательскую оболочку, чтобы они не работали, если для пользовательской оболочки установлено, например,. /bin/falseили/sbin/nologin

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







    Можно включить SSH и отключить SFTP как глобально, так и для каждого пользователя / группы.

    Лично мне это нужно, потому что я хочу предоставить доступ к некоторым git-репозиториям через SSH, и мне нравится отключать ненужные системы. В этом случае SFTP не нужен.

    глобально

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

    Недостающая подсистема

    SFTP-демон, используемый SSH, можно настроить через Subsystemключевое слово. Из sshd_config(5)руководства:

    Subsystem
            Configures an external subsystem (e.g. file transfer daemon).
            Arguments should be a subsystem name and a command (with optional
            arguments) to execute upon subsystem request.
    
            The command sftp-server(8) implements the “sftp” file transfer
            subsystem.
    
            Alternately the name “internal-sftp” implements an in-process
            “sftp” server.  This may simplify configurations using
            ChrootDirectory to force a different filesystem root on clients.
    
            By default no subsystems are defined.
    

    Последняя строка предполагает, что этого должно быть достаточно, чтобы не определять подсистему для «sftp».

    Ложная ложь

    Вы также можете отключить SFTP, установив демон SFTP, используемый SSH, на что-то непригодное. Например, настройте подсистему “sftp” на /bin/false:

    Subsystem sftp /bin/false
    

    На пользователя / группу

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

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

    согласование

    Чтобы соответствовать группе пользователей, вы можете настроить SSH с Matchключевым словом. Из sshd_config(5)руководства:

    Match
            ...
    
            The arguments to Match are one or more criteria-pattern pairs or the
            single token All which matches all criteria.  The available criteria
            are User, Group, Host, LocalAddress, LocalPort, and Address.  The
            match patterns may consist of single entries or comma-separated
            lists and may use the wildcard and negation operators described in
            the PATTERNS section of ssh_config(5).
    
            ...
    
    • Match User eva соответствует пользователю “eva”
    • Match User stephen,maria соответствует пользователям “Стивен” и “Мария”
    • Match Group wheel,adams,simpsons соответствует группам “колесо”, “адамс”, “симпсоны”

    Если вы хотите получить больше информации, в sshd_config(5)руководстве есть грузы .

    Принудительная команда

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

    Команду force можно настроить с помощью ForceCommandключевого слова. Из
    sshd_config(5)руководства:

    ForceCommand
            Forces the execution of the command specified by ForceCommand,
            ignoring any command supplied by the client and ~/.ssh/rc if
            present.  The command is invoked by using the user's login shell
            with the -c option.  This applies to shell, command, or subsystem
            execution.  It is most useful inside a Match block.  The command
            originally supplied by the client is available in the
            SSH_ORIGINAL_COMMAND environment variable.  Specifying a command of
            “internal-sftp” will force the use of an in-process sftp server that
            requires no support files when used with ChrootDirectory.  The
            default is “none”.
    

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

    Match User kim
            ForceCommand echo 'successful login man, congrats'
    

    пример

    В моем случае, когда я хочу дать доступ к git, мне нужен только доступ к пользователю git-shell. Это раздел, который отключает SFTP для моих пользователей git, а также некоторые параметры безопасности:

    Match Group git
    
            # have to do this instead of setting the login shell to `git-shell`,
            # to disable SFTP
            ForceCommand /usr/bin/git-shell -c "$SSH_ORIGINAL_COMMAND"
    
            # disable stuff we don't need
            AllowAgentForwarding no
            AllowTcpForwarding no
            AllowStreamLocalForwarding no
            PermitOpen none
            PermitTunnel no
            PermitTTY no
            X11Forwarding no
    


    1 ответ

    Для доступа к sftp от других хостов удостоверьтесь, что следующее установлено и настроено правильно.

    • Установленные серверы OpenSSH
    • Настроенный sshd_config
      • PubkeyAuthentication да
      • Подсистема sftp внутренний-sftp
    • Добавленный Ваш открытый ключ к ~/.ssh/authorized_keys

    • Запустите ssh сервер с порта, 22/TCP открытый # /etc/init.d/sshd start

    • # iptables -I INPUT -j ACCEPT -p tcp --dport 22

    Наконец, тест $ sftp <login>@<hostname>

    ответ дан Jay
    7 December 2019 в 13:19

    поделиться

    Другие вопросы по тегам:

    Похожие вопросы:

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

    Ваш адрес email не будет опубликован.