reference links:
How to Setup FTP Server with VSFTPD on CentOS 7
https://www.cnblogs.com/kreo/p/4368811.html
http://trulymanaged.com/blog/ssh-error-etcshells-is-either-world-writable-or-not-a-normal-file/
when ftp://xxx.xxx.xxx.xxx response is slow, please add "reverse_lookup_enable=NO" in vsftpd.config. And restart vsftpd service.
systemctl restart vsftpd
systemctl status vsftpd
# vim /etc/sysconfig/selinux
SELINUX=disabled
solution:
When I checked the permissions of the file /etc/shells and it was set to 777 (universal writable).
root@server [~]# ll /etc/shells
-rwxrwxrwx 1 root root 32 Feb 23 23:54 /etc/shells*
So, I changed the permission of the file to 644 and able to login into SSH.
root@server [~]# chmod 644 /etc/shells
root@server [~]# ll /etc/shells
-rw-r--r-- 1 root root 32 Feb 23 23:55 /etc/shells
root@server [~]#