ftp password rejected

Discussion in 'Installation/Configuration' started by SirLancelot, Apr 21, 2009.

  1. SirLancelot

    SirLancelot New Member

    I've installed ispconfig 3 as a Xen server through a hypervm ostemplate using debian lenny. Everything seens to function correctly (client creation, web site creation, webmail and stats) but when i create an ftp account the password gets rejected with error 530 when attempting to conect using FireFTP.
    Ftp for the web site is enabled and Pureftpd is running as:-

    netstat -ap | grep "*:ftp"

    displays

    tcp 0 0 *:ftp *:* LISTEN

    There is nothing in the logs for Pureftp, and I have tried ftp in active and passive modes. Also I am using the correct login (client id + additional user name text) and I only used normal text characters for login and password.
    Thanks for any help you can give with this.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Which Linuxdistribution?
     
  3. SirLancelot

    SirLancelot New Member

    Sorry for not making it clear in my first post, hypervm with xen is installed on Centos 5 and the ispconfig domu is debian 5.
     
  4. tebokkel

    tebokkel New Member

    Can you login with FTP on localhost?

    Paul
     
  5. SirLancelot

    SirLancelot New Member


    Do I need to install an ftp client on the ispconfig server to do this?
     
  6. tebokkel

    tebokkel New Member

    Normally not, normally you have the command "ftp" readily available:

    Code:
    tebokkel@www1:~$ ftp localhost
    Connected to localhost.
    220 FTP Server ready.
    Name (localhost:tebokkel): tebokkel
    331 Password required for tebokkel.
    Password:
    230 User tebokkel logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    Paul
     
  7. SirLancelot

    SirLancelot New Member

    I've tried that and I am getting:-

    -bash: ftp: command not found.

    I started with a basic install of debian 5 as the ispconfig server, will it "hurt" the setup if I install a ftp client?

    Thanks
     
  8. tebokkel

    tebokkel New Member

    No, it won't.

    Just do:
    apt-get install ftp

    as root and you're done.

    Paul
     
  9. SirLancelot

    SirLancelot New Member

    OK I've installed ftp and this is what I get:-

    Code:
    test:~# ftp localhost
    Connected to localhost.localdomain.
    220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    220-You are user number 1 of 50 allowed.
    220-Local time is now 22:16. Server port: 21.
    220-This is a private system - No anonymous login
    220 You will be disconnected after 15 minutes of inactivity.
    Name (localhost:root): steve-ftp
    331 User steve-ftp OK. Password required
    Password:
    530 Login authentication failed
    Login failed.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    I've definitely got an issue somewhere
     
  10. tebokkel

    tebokkel New Member

    Now your FTP-log should show something, doesn't it?
    Or else in /var/log/messages or /var/log/security?

    Paul
     
  11. SirLancelot

    SirLancelot New Member

    /var/log/messages contains:-

    Code:
    Apr 21 22:15:26 test pure-ftpd: ([email protected]) [INFO] New connection from localhost.localdomain
    Apr 21 22:16:19 test pure-ftpd: ([email protected]) [INFO] PAM_RHOST enabled. Getting the peer address
    Apr 21 22:16:21 test pure-ftpd: ([email protected]) [WARNING] Authentication failed for user [steve-ftp]
    there is no /var/log/security or /var/log/pure-ftpd
    I don't seem to have any ftp logs at all.
     
  12. falko

    falko Super Moderator Howtoforge Staff

    Did you try both active and passive transfers in your FTP client?
     
  13. SirLancelot

    SirLancelot New Member

    Yes, as mentioned in the first post.

    Also I have tried passive from localhost with "-p" switch. I am not to familiar with command line ftp, so I am guessing that:-

    "ftp localhost" will connect active

    and

    "ftp -p localhost" will connect passive

    But which ever one I try still rejects the password.
     
    Last edited: Apr 22, 2009
  14. till

    till Super Moderator Staff Member ISPConfig Developer

    Please enaböe logging for mysql in the my.cnf file and then check which mysql queries get executed on ftp login and try these queries in phpmyadmin to see if they work.
     
  15. SirLancelot

    SirLancelot New Member

    This is what is contained in mysql.log:-

    Code:
    090423 19:35:40	     72 Connect     ispconfig@localhost on dbispconfig
    		     72 Query       set autocommit=0
    		     72 Query       SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     72 Query       SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     72 Query       SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     72 Query       SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     72 Query       COMMIT
    		     72 Quit       
    090423 19:36:01	     73 Connect     ispconfig@localhost on 
    		     73 Init DB     dbispconfig
    		     73 Query       SELECT updated, config FROM server WHERE server_id = 1
    		     73 Init DB     dbispconfig
    		     73 Query       SELECT count(server_id) as number from sys_datalog WHERE datalog_id > 48 AND (server_id = 1 OR server_id = 0)
    		     73 Quit       
    090423 19:36:09	     74 Connect     ispconfig@localhost on dbispconfig
    		     74 Query       set autocommit=0
    		     74 Query       SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     74 Query       SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     74 Query       SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     74 Query       SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"
    		     74 Query       COMMIT

    I think we are getting somewhere as when I run the queries I am getting:-

    Code:
    Error
    
    SQL query: Documentation
    
    SELECT PASSWORD FROM ftp_user
    WHERE active = 'y'
    AND server_id = '1'
    AND username = "steve-ftp"
    LIMIT 0 , 30
    
    MySQL said: Documentation
    #1046 - No database selected
    both attempts to connect were from the command line as localhost. the first attempt was in active mode and the second attempt was in passive mode. I'm not sure if I am reading it corretly but does it look by the log that both attempts apear to be in active mode? Also no database selected error?
    I'm begining to wonder if there is an issue with running xen through hypervm for ISPconfig 3 as this is the 5'th ispconfig sever that I have built and the FTP issue is always the same.
    Many thanks for any assitance with this as it has got me confused.
     
    Last edited: Apr 23, 2009
  16. falko

    falko Super Moderator Howtoforge Staff

    When you run the queries manually, you must first select the right database:
    Code:
    USE [I]database[/I];
    (replace database with the database name).
     
  17. SirLancelot

    SirLancelot New Member

    Oops! My apologies.

    OK I ran:-

    Code:
    USE dbispconfig; set autocommit=0; SELECT password FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"; SELECT uid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"; SELECT gid FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"; SELECT dir FROM ftp_user WHERE active = 'y' AND server_id = '1' AND username="steve-ftp"; COMMIT
    This is the result:-

    Code:
    USE dbispconfig;# MySQL returned an empty result set (i.e. zero rows).
    SET AUTOCOMMIT =0;# MySQL returned an empty result set (i.e. zero rows).
    SELECT PASSWORD FROM ftp_user
    WHERE active = 'y'
    AND server_id = '1'
    AND username = "steve-ftp";# Rows: 1
    SELECT uid
    FROM ftp_user
    WHERE active = 'y'
    AND server_id = '1'
    AND username = "steve-ftp";# Rows: 1
    SELECT gid
    FROM ftp_user
    WHERE active = 'y'
    AND server_id = '1'
    AND username = "steve-ftp";# Rows: 1
    SELECT dir
    FROM ftp_user
    WHERE active = 'y'
    AND server_id = '1'
    AND username = "steve-ftp";# Rows: 1
    COMMIT # MySQL returned an empty result set (i.e. zero rows).
    Mysql seems to think the database is empty?
    But the user and password are there in the table ftp_user.
     
  18. till

    till Super Moderator Staff Member ISPConfig Developer

    And you are really sure that the username is "steve-ftp" and not something like "defaultsteve-ftp" or so? There is a user prefix prepended by default, please check the ftp username that is displayed in the ftp user list in ispconfig. Also make sure that the ftp user is active.
     
  19. SirLancelot

    SirLancelot New Member

    Yes the user steve-ftp is correct.

    After installing ISPConfig 3 I logged in as admin and created a client "steve".
    I then logged in as steve and created a web site for steve. Then created an ftp account for this website selecting client "steve" plus my user defined text "-ftp" so creating "steve-ftp"

    Is this the correct way to do it?
    Thanks

    I think I should add that in order to use debian 5 I upgraded the basic Hypervm ostemplate provided by hypevm from deb 4 to deb 5. If you have looked back through this thread you will notice that this template was missing the ftp client that I believe comes with a basic install of Debian. (I had to apt-get install ftp). I am now wondering if there are any other packages that are required that the hypervm ostemplate is missing.
     
    Last edited: Apr 24, 2009
  20. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, this is fine.

    may you plese execute the following sql command and post the output:

    select * from ftp_user where username like "%steve%";
     

Share This Page