ssh_exchange_identification: Connection closed by remote host
Google tells me that I am blocked because of something like /etc/hosts.deny or some other reason, I did everything but problem remains there.
Until I checked the audit.log and found there many attempts of ssh login.
So I add ListenAddress line in /etc/ssh/sshd_config, everything works well now.
This is because I have an local IP address like 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, but if I only have a public IP, I may choose to change ssh running at another port.