Как-то тоже мучался очень долго с ssh, всё переделывал с начала раз сто.
Оказалось, что проблема в правах на директорию .ssh. Причём это вещь не простая, а регулируемая новыми настройками, поэтому в старой документации может и не встречаться необходимость их соблюдения.
man sshd_config
StrictModes
Specifies whether sshd(8) should check file modes and ownership
of the user's files and home directory before accepting login.
This is normally desirable because novices sometimes accidentally
leave their directory or files world-writable. The default is
“yes”. Note that this does not apply to ChrootDirectory, whose
permissions and ownership are checked unconditionally.
Когда проблемы с ssh, знай, что есть режим отладки как для клиента, так и для сервера. Там можно проследить всё до мельчайших подробностей.
Запусти сервер (sshd) с ключом -d (повторяя до трёх раз), и он будет выдавать инфу, куда доходит клиент.