Announcement

Collapse
No announcement yet.

VSFTPD on CentOS - Unable to connect

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VSFTPD on CentOS - Unable to connect

    I'm trying to setup a CentOS machine with VSFTPD running so we can ftp .bak SQL files to our datacenter.

    On the CentOS box, I'm able to
    Code:
    ftp locahost
    without issue.

    Trying to connect from filezilla using ports 20 and 21 fail, using 22 gives me

    Code:
    Status:    Connecting to 1xx.24.x.xxx...
    Response:    fzSftp started
    Command:    open "[email protected]" 22
    Command:    Pass: *********
    Error:    Authentication failed.
    Error:    Critical error
    Error:    Could not connect to server
    Using the same login on the CentOS box

    Code:
    [[email protected] ~]# ftp localhost
    Trying ::1...
    ftp: connect to address ::1Connection refused
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1).
    220 Capstone FTP
    Name (localhost:root): UserNameRemoved
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    My vsftpd.conf

    Code:
    # Example config file /etc/vsftpd/vsftpd.conf
    #
    # The default compiled in settings are fairly paranoid. This sample file
    # loosens things up a bit, to make the ftp daemon more usable.
    # Please see vsftpd.conf.5 for all compiled in defaults.
    #
    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
    # capabilities.
    #
    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd's)
    local_umask=022
    #
    # Uncomment this to allow the anonymous FTP user to upload files. This only
    # has an effect if the above global write enable is activated. Also, you will
    # obviously need to create a directory writable by the FTP user.
    #anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    #anon_mkdir_write_enable=YES
    #
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES
    #
    # The target log file can be vsftpd_log_file or xferlog_file.
    # This depends on setting xferlog_std_format parameter
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # If you want, you can arrange for uploaded anonymous files to be owned by
    # a different user. Note! Using "root" for uploaded files is not
    # recommended!
    #chown_uploads=YES
    #chown_username=whoever
    #
    # The name of log file when xferlog_enable=YES and xferlog_std_format=YES
    # WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log
    #xferlog_file=/var/log/xferlog
    #
    # Switches between logging into vsftpd_log_file and xferlog_file files.
    # NO writes to vsftpd_log_file, YES to xferlog_file
    xferlog_std_format=YES
    #
    # You may change the default value for timing out an idle session.
    #idle_session_timeout=600
    #
    # You may change the default value for timing out a data connection.
    #data_connection_timeout=120
    #
    # It is recommended that you define on your system a unique user which the
    # ftp server can use as a totally isolated and unprivileged user.
    nopriv_user=CapstoneHelp
    #
    # Enable this and the server will recognise asynchronous ABOR requests. Not
    # recommended for security (the code is non-trivial). Not enabling it,
    # however, may confuse older FTP clients.
    #async_abor_enable=YES
    #
    # By default the server will pretend to allow ASCII mode but in fact ignore
    # the request. Turn on the below options to have the server actually do ASCII
    # mangling on files when in ASCII mode.
    # Beware that on some FTP servers, ASCII support allows a denial of service
    # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
    # predicted this attack and has always been safe, reporting the size of the
    # raw file.
    # ASCII mangling is a horrible feature of the protocol.
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
    #
    # You may fully customise the login banner string:
    ftpd_banner=Capstone FTP
    #
    # You may specify a file of disallowed anonymous e-mail addresses. Apparently
    # useful for combatting certain DoS attacks.
    #deny_email_enable=YES
    # (default follows)
    #banned_email_file=/etc/vsftpd/banned_emails
    #
    # You may specify an explicit list of local users to chroot() to their home
    # directory. If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot().
    #chroot_local_user=YES
    chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd/chroot_list
    #
    # You may activate the "-R" option to the builtin ls. This is disabled by
    # default to avoid remote users being able to cause excessive I/O on large
    # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
    # the presence of the "-R" option, so there is a strong case for enabling it.
    #ls_recurse_enable=YES
    #
    # When "listen" directive is enabled, vsftpd runs in standalone mode and
    # listens on IPv4 sockets. This directive cannot be used in conjunction
    # with the listen_ipv6 directive.
    listen=YES
    #
    # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
    # sockets, you must run two copies of vsftpd with two configuration files.
    # Make sure, that one of the listen options is commented !!
    #listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES
    userlist_deny=NO
    tcp_wrappers=YES
    Last edited by Managor; 29th July 2013, 18:53. Reason: solved
    "To err is human but to really **** things up requires a computer user..."

    "The path to enlightenment is /user/bin/enlightenment"

    A+ CE

  • #2
    Re: VSFTPD on CentOS - Unable to connect

    Got it working now, had a bad firewall config, however:

    Now port 20 gives me 500 OOPS: cannot change directory:/home/ftp-docs

    but port 22 works.


    Got it!

    Switched the home dir to a /var/ instead of /home/ and it works on port 20 now.

    But now it wont let me upload unless on port 22.
    Last edited by Managor; 26th July 2013, 21:24.
    "To err is human but to really **** things up requires a computer user..."

    "The path to enlightenment is /user/bin/enlightenment"

    A+ CE

    Comment


    • #3
      Re: VSFTPD on CentOS - Unable to connect

      Weird, port 22 is reserved for SSH.
      FTP should use port 21 and 20 when it uses Active FTP

      http://slacksite.com/other/ftp.html
      Marcel
      Technical Consultant
      Netherlands
      http://www.phetios.com
      http://blog.nessus.nl

      MCITP(EA, SA), MCSA/E 2003:Security, CCNA, SNAF, DCUCI, CCSA/E/E+ (R60), VCP4/5, NCDA, NCIE - SAN, NCIE - BR, EMCPE
      "No matter how secure, there is always the human factor."

      "Enjoy life today, tomorrow may never come."
      "If you're going through hell, keep going. ~Winston Churchill"

      Comment


      • #4
        Re: VSFTPD on CentOS - Unable to connect

        Originally posted by Dumber View Post
        Weird, port 22 is reserved for SSH.
        FTP should use port 21 and 20 when it uses Active FTPl
        SFTP uses port 22. Actually, it's really just file transfers over SSH and has nothing in common with the old FTP protocol.

        An SFTP server runs as an SSH subsystem and typically requires a separate SSH service.

        Comment


        • #5
          Re: VSFTPD on CentOS - Unable to connect

          Originally posted by Ser Olmy View Post
          SFTP uses port 22. Actually, it's really just file transfers over SSH and has nothing in common with the old FTP protocol.

          An SFTP server runs as an SSH subsystem and typically requires a separate SSH service.
          True, but he's talking about FTP and not SFTP.
          Marcel
          Technical Consultant
          Netherlands
          http://www.phetios.com
          http://blog.nessus.nl

          MCITP(EA, SA), MCSA/E 2003:Security, CCNA, SNAF, DCUCI, CCSA/E/E+ (R60), VCP4/5, NCDA, NCIE - SAN, NCIE - BR, EMCPE
          "No matter how secure, there is always the human factor."

          "Enjoy life today, tomorrow may never come."
          "If you're going through hell, keep going. ~Winston Churchill"

          Comment


          • #6
            Re: VSFTPD on CentOS - Unable to connect

            Originally posted by Dumber View Post
            True, but he's talking about FTP and not SFTP.
            VSFTPD also supports SFTP, and the original post clearly shows him using SFTP.

            Comment


            • #7
              Re: VSFTPD on CentOS - Unable to connect

              no, vsftpd supports ftps (ftp over ssl), not sftp (ssh ftile transfer protocol)

              whatever runs on port 22 is backed by sshd, not vsftpd, unless he made some serious changes to the system (ports up to 1024 are reserved on unix like systems and should be pretty much unchangeable, unless you really try hard)
              Real stupidity always beats Artificial Intelligence (c) Terry Pratchett

              BA (BM), RHCE, MCSE, DCSE, Linux+, Network+

              Comment


              • #8
                Re: VSFTPD on CentOS - Unable to connect

                You're right, I got it backwards. And since most (if not all) Linux distributions have sshd enabled by default, connecting with an SFTP client will obviously work.

                Comment


                • #9
                  Re: VSFTPD on CentOS - Unable to connect

                  Don't know why I put port 20, I meant 21(I think)


                  Using filezilla I can see the folder structure,upload and download on port 22 but not 21; can't even connect on port 20.

                  The user account I'm using owns the folder, and the folder has 777 perms on it.

                  Just ran


                  setsebool -P ftp_home_dir=1
                  setsebool -P allow_ftpd_anon_write=1
                  setsebool -P allow_ftpd_full_access=1

                  And now it's giving me the error:

                  200 PORT command successful. Consider using PASV.
                  425 Failed to establish connection.

                  I see an empty zip file in my /var/ftp/pub/ directory though.


                  Rebooted after I ran the setsebools and it's working now, so I guess that's what did it.
                  Last edited by Managor; 29th July 2013, 16:51.
                  "To err is human but to really **** things up requires a computer user..."

                  "The path to enlightenment is /user/bin/enlightenment"

                  A+ CE

                  Comment


                  • #10
                    Re: VSFTPD on CentOS - Unable to connect

                    Originally posted by Managor View Post
                    Using filezilla I can see the folder structure,upload and download on port 22 but not 21; can't even connect on port 20.
                    As DYasny said, the protocol used on port 22 is SFTP, which is file transfers over SSH. When you're connecting to port 22, you're communicating with the SSH daemon, not vsftpd.

                    Comment

                    Working...
                    X