if none of the suggestions work, then you will need to debug the session.
start a new independent one shot sshd daemon on the server end with
/usr/sbin/sshd -DDDD -p 666
(make sure you enable the port by adding a firewall before starting above if you have the firewall enabled)
firewall-cmd --permanent --add-port=666/tcp
firewall-cmd --reload
then from a workstation/desktop run
ssh -vvvv -p 666 serveripaddress
you should get reams of logs on both sides that may indicate where the hold up is.
the new daemon will die at the end of the oneshot session so you will need to restart to repeat.
regards peter