LINUX.ORG.RU
ФорумAdmin

Гличи при передаче файлов proftp - filezilla через sftp

 , , ,


0

2

При передаче фала через sftp происходят периодические обрывы, но, посмотрев, на логи мне показалось, что это из за клиента, хотя он работает прекрасно. (передаёт ровно 32768 байта) Лог клиента:

Статус:	Выбранный порт обычно используется с другим протоколом.
Статус:	Соединяюсь с 192.168.0.112:21...
Ответ:	fzSftp started, protocol_version=8
Команда:	open "master@192.168.0.112" 21
Команда:	Pass: 
Статус:	Connected to 192.168.0.112
Статус:	Начинаю скачивать /emsm-servers/backups/magic/13-11-2016_19-29.tar.gz
Команда:	cd "/emsm-servers/backups/magic"
Ответ:	New directory is: "/emsm-servers/backups/magic"
Команда:	reget "13-11-2016_19-29.tar.gz" "C:\Users\Alex_P\Desktop\13-11-2016_19-29.tar.gz"
Команда:	reget: restarting at file position 119603200
Команда:	remote:/emsm-servers/backups/magic/13-11-2016_19-29.tar.gz => local:C:\Users\Alex_P\Desktop\13-11-2016_19-29.tar.gz
Ошибка:	Network error: Software caused connection abort
Ошибка:	Передача файла потерпела неудачу после передачи 32 768 байт в 1 секунда
Статус:	Отключен от сервера
Статус:	Выбранный порт обычно используется с другим протоколом.
Статус:	Соединяюсь с 192.168.0.112:21...
Ответ:	fzSftp started, protocol_version=8
Команда:	open "master@192.168.0.112" 21
Команда:	Pass: 
Статус:	Connected to 192.168.0.112
Статус:	Начинаю скачивать /emsm-servers/backups/magic/13-11-2016_19-29.tar.gz
Команда:	cd "/emsm-servers/backups/magic"
Ответ:	New directory is: "/emsm-servers/backups/magic"
Команда:	reget "13-11-2016_19-29.tar.gz" "C:\Users\Alex_P\Desktop\13-11-2016_19-29.tar.gz"
Команда:	reget: restarting at file position 119635968
Команда:	remote:/emsm-servers/backups/magic/13-11-2016_19-29.tar.gz => local:C:\Users\Alex_P\Desktop\13-11-2016_19-29.tar.gz
Ошибка:	Network error: Software caused connection abort
Ошибка:	Передача файла потерпела неудачу после передачи 32 768 байт в 1 секунда
Статус:	Отключен от сервера
Статус:	Выбранный порт обычно используется с другим протоколом.
Статус:	Соединяюсь с 192.168.0.112:21...
Ответ:	fzSftp started, protocol_version=8

Лог proftp:

mod_sftp/0.9.9[2182]: unsupported 'simple@putty.projects.tartarus.org' channel requested, ignoring   
mod_sftp/0.9.9[2182]: 'subsystem' channel request for 'sftp' subsystem                               
mod_sftp/0.9.9[2182]: using SFTP protocol version 3 for this session (channel ID 0)                  
mod_sftp/0.9.9[2182]: error writing packet (fd 1): Соединение разорвано другой стороной              
mod_sftp/0.9.9[2182]: disconnecting client (Соединение разорвано другой стороной)                    
mod_sftp/0.9.9[2182]: aborting 1 unclosed file handle                                                
mod_sftp/0.9.9[2184]: sent server version 'SSH-2.0-FTP Server ready.'                                
mod_sftp/0.9.9[2184]: received client version 'SSH-2.0-PuTTY_Local:_Jan_13_2017_20:10:08'            
mod_sftp/0.9.9[2184]: handling connection from SSH2 client 'PuTTY_Local:_Jan_13_2017_20:10:08'       
mod_sftp/0.9.9[2184]:  + Session key exchange: ecdh-sha2-nistp256                                    
mod_sftp/0.9.9[2184]:  + Session server hostkey: ssh-rsa                                             
mod_sftp/0.9.9[2184]:  + Session client-to-server encryption: aes256-ctr                             
mod_sftp/0.9.9[2184]:  + Session server-to-client encryption: aes256-ctr                             
mod_sftp/0.9.9[2184]:  + Session client-to-server MAC: hmac-sha2-256                                 
mod_sftp/0.9.9[2184]:  + Session server-to-client MAC: hmac-sha2-256                                 
mod_sftp/0.9.9[2184]:  + Session client-to-server compression: zlib                                  
mod_sftp/0.9.9[2184]:  + Session server-to-client compression: zlib                                  
mod_sftp/0.9.9[2184]: sending acceptable userauth methods: publickey,password                        
mod_sftp/0.9.9[2184]: sending userauth success                                                       
mod_sftp/0.9.9[2184]: user 'master' authenticated via 'password' method                               
mod_sftp/0.9.9[2184]: client sent SSH_MSG_IGNORE message (171 bytes)                                 
mod_sftp/0.9.9[2184]: unsupported 'simple@putty.projects.tartarus.org' channel requested, ignoring   
mod_sftp/0.9.9[2184]: 'subsystem' channel request for 'sftp' subsystem                               
mod_sftp/0.9.9[2184]: using SFTP protocol version 3 for this session (channel ID 0)                  
mod_sftp/0.9.9[2184]: error writing packet (fd 1): Соединение разорвано другой стороной              
mod_sftp/0.9.9[2184]: disconnecting client (Соединение разорвано другой стороной)                    
mod_sftp/0.9.9[2184]: aborting 1 unclosed file handle                                                
mod_sftp/0.9.9[2186]: sent server version 'SSH-2.0-FTP Server ready.'                                
mod_sftp/0.9.9[2186]: received client version 'SSH-2.0-PuTTY_Local:_Jan_13_2017_20:10:08'            
mod_sftp/0.9.9[2186]: handling connection from SSH2 client 'PuTTY_Local:_Jan_13_2017_20:10:08'       
mod_sftp/0.9.9[2186]: error reading from client (fd 0): Соединение разорвано другой стороной         
mod_sftp/0.9.9[2186]: disconnecting client (Соединение разорвано другой стороной)                    

Конфиг сервера:

ServerName			"FTP server"
ServerIdent			on "FTP Server ready."
ServerAdmin			admin@myhosy.ru
DefaultServer			on
DefaultRoot			~ !adm
AuthPAMConfig			proftpd
AuthOrder			mod_auth_pam.c* mod_auth_unix.c
UseReverseDNS			off
User				ftp
Group				ftp
MaxInstances			20
UseSendfile			off
LogFormat			default	"%h %l %u %t \"%r\" %s %b"
LogFormat			auth	"%v [%P] %h %t \"%r\" %s"
LoadModule mod_ctrls_admin.c
LoadModule mod_sftp.c
LoadModule mod_sftp_pam.c
LoadModule mod_vroot.c
ModuleControlsACLs		insmod,rmmod allow user root
ModuleControlsACLs		lsmod allow user *
ControlsEngine			on
ControlsACLs			all allow user root
ControlsSocketACL		allow user *
ControlsLog			/var/log/proftpd/controls.log
<IfModule mod_ctrls_admin.c>
  AdminControlsEngine		on
  AdminControlsACLs		all allow user root
</IfModule>
<IfModule mod_sftp.c>
  SFTPEngine on
  Port 21
  SFTPLog /var/log/proftpd/sftp.log
  # Configure both the RSA and DSA host keys, using the same host key
  # files that OpenSSH uses.
  SFTPHostKey /etc/ssh/sftp_host_rsa_key
  SFTPHostKey /etc/ssh/sftp_host_dsa_key
  SFTPAuthMethods publickey password
  #SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
  # Enable compression
  SFTPCompression delayed
  <IfModule mod_sftp_pam.c>
    SFTPPAMEngine on
    SFTPPAMServiceName ftpd
  </IfModule>
</IfModule>
<IfModule mod_vroot.c>
  VRootEngine			on
  VRootOptions                  allowSymlinks
</IfModule>
<Global>
  # Umask 022 is a good standard umask to prevent new dirs and files
  # from being group and world writable
  Umask				022
  # Allow users to overwrite files and change permissions
  AllowOverwrite		yes
  <Limit LOGIN>
    AllowGroup ftpusers
    DenyAll
  </Limit>
</Global>
(пришлось проехаться grep дабы убрать комменты и минимизировать конфиг. также убрал дефолтные директории <IfDefine TLS>, <IfDefine DYNAMIC_BAN_LISTS>, <IfDefine QOS>)


Ответ на: комментарий от novitchok

Да, именно 21. Глянь конфиг

<IfModule mod_sftp.c>
  SFTPEngine on
  Port 21
  SFTPLog /var/log/proftpd/sftp.log
Если ты знаешь вариант с тем как сделать это одном порте(22) и при этом разделить sshd на ssh и sftp на proftp поделись знаниями.

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

1. сделай

grep sftp /etc/services
и обомлей.
2. если уж лень осиливать официальную документацию, погуглил бы, что нужно и как настраивается proftpd для работы с sftp

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

1. спасибо обомлел целых 115 раз

2. да. читал док по этим двум модам (mod_sftp и mod_sftp_pam). вродь расставил в <IfModule mod_sftp\.c> как надо (щас ток порт изменю на 115). остаётся открыть udp и протестить.

я что-то упустил?

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

сделай
grep sftp /etc/services

Вы точно норм себя чувствуете? Или разницу между sftp и sftp не знаете? В services Simple указан а не SSH.

anc ★★★★★ ()

На вскидку, похоже на глюки, странные причем. Но вот единственное, попробуйте действительно перевесить на какой-нибудь рандомный порт (3333) и проверить.

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

по п2. см мой ответ выше, не о том тема. и udp там нэма.

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

Ок. Всё заработало на порту 2222.

Что произошло? Это магия или можно это объяснить?

Если мне не изменяет парять, то sftp (ssh, а не simple) работает вместе с sshd (который я, кстати, отключил). Можно ли сделать некое разделение: чтобы ssh и scp шли в sshd, a sftp в proftp?

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

Можно ли сделать некое разделение: чтобы ssh и scp шли в sshd, a sftp в proftp?

Включите назад sshd, а proftd на 2222 будет работать.

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

Что произошло? Это магия или можно это объяснить?

Фиг его знает, если интересно можите проверить на другом клиенте и еще на оф.сайте был пример настройки работы proftpd только через sftp (без ftp), сравните со своим конфигом.

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

Ptoftpd умеет одновременно ftp и sftp, на разных портах.

Так а я о чем? Это наоборот у него из каробки. Я написал что его заставить только sftp можно.

А вот мультиплексировать ssh и sftp вряд ли получится.

Не понял, поясните?

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

А вот мультиплексировать ssh и sftp вряд ли получится.

ТС хотел чтоб на 1м порту слушало нечто, что бы проксировало sftp клиентов на 2й порт, и ssh клиентов на 3й.

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

Не увидел, но дождемся ответа ТС... возможно.

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

Была идея идея сделать некий прокси, фильтрующий ssh и sftp на два моих локальных порта. Но это, имхо уже извращение.

Видимо придётся опять пинать простой ftp. Кстати, это немного оффтоп, но, таки, что делать если клиент виснет при подключении(вродь при переходе в пассивный режим). Пытался и PassivePorts, и MasqueradeAddress, но видимого результата не добился. Сейчас буду пытаться ещё. (sftp, скорее, оставлю также на 2222 порту)

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

Всё. Разобрался и с sftp и с ftp.

sftp запилил на порт 2222 и юзаю логин через приватный ключик.

ftp — сейчас сгенерю TLS ключик и буду юзать для деплоя, синхронизации музыки(android: FolderSync) итп.

Конфиг ftp с TLS:

Port				21
UseIPv6				off

ServerName			"Alex_P FTP server"
ServerIdent			on "FTP Server ready."
ServerAdmin			alexp@alexphost.ru
DefaultServer			on
RequireValidShell		off
DefaultRoot			~ !adm
AuthPAMConfig			proftpd
AuthOrder			mod_auth_pam.c* mod_auth_unix.c
UseReverseDNS			off
User				ftp
Group				ftp

MaxInstances			20
CommandBufferSize		512

UseSendfile			off
LogFormat			default	"%h %l %u %t \"%r\" %s %b"
LogFormat			auth	"%v [%P] %h %t \"%r\" %s"
LoadModule mod_ctrls_admin.c
LoadModule mod_vroot.c
ModuleControlsACLs		insmod,rmmod allow user root
ModuleControlsACLs		lsmod allow user *

ControlsEngine			on
ControlsACLs			all allow user root
ControlsSocketACL		allow user *
ControlsLog			/var/log/proftpd/controls.log

<IfModule mod_ctrls_admin.c>
  AdminControlsEngine		on
  AdminControlsACLs		all allow user root
</IfModule>

<IfModule mod_vroot.c>
  VRootEngine			on
  VRootOptions                  allowSymlinks
</IfModule>

<IfDefine TLS>
  TLSEngine			on
  TLSRequired			on
  TLSProtocol			SSLv23
  TLSRSACertificateFile		/etc/ssl/proftpd/proftpd.crt
  TLSRSACertificateKeyFile	/etc/ssl/proftpd/proftpd.key
  TLSCipherSuite		ALL:!ADH:!DES
  TLSOptions			NoCertRequest
  TLSVerifyClient		off
  TLSLog			/var/log/proftpd/tls.log
  <IfModule mod_tls_shmcache.c>
    TLSSessionCache		shm:/file=/var/run/proftpd/sesscache
  </IfModule>
</IfDefine>

<Global>
  Umask				022
  AllowOverwrite		yes
  <Limit LOGIN>
    AllowGroup ftpusers
    DenyAll
  </Limit>
</Global>
(кстать, дабы не комментить блок IfDefine подскажите где и как нужно сделать Define TLS, если os centos7 )

Alex_P ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.