This problem often occurs at work. When you log on to a Linux server using FTP commands on Windows, the following message is displayed: 530 must perform authentication before identifying user. After searching online, I finally found a solution. First of all, thanks to the experts who provide the solution. I have used this record for reference only. Currently, I know the solution is as follows:
First, if you are using vsftpd, stop it with the command: Service vsftpd stop. Then you need to edit the gssftp configuration file under/etc/xinetd. d/. The file content is as follows:
# Default: Off
# Description: The specified FTP Server accepts FTP connections
# That can be authenticated with Kerberos 5.
Service ftp
{
Disable = Yes
Flags = Reuse
Socket_type = stream
Wait = No
User = root
Server =/usr/Kerberos/sbin/ftpd
Server_args =-l-
Log_on_failure + = userid
}
In the file, we want to modify the following content:
1. Change disable = yes to disable = No. The default FTP function is invalid. The modification takes effect for the FTP function.
2. Change server_args =-l-A to server_args =-L.
Without-A means: * enable Weak Authentication *
It indicates that the Kerberos 5 authentication mechanism is used, while FTP generally does not support this authentication mechanism.
Save the modification.
3. Restart the xinetd service. Run the following command (/etc/xinetd. d /):
Service xinetd restart
Service vsftpd restart
Note:
1. We recommend that you do not use root for the user (user = root) in the gssftp configuration file. It is best to use other users.
2. in Linux RHEL 5 or later versions, gssftp may not exist. I have not touched it yet.