Я бы рекомендовал использовать DSA вместо RSA. И одного публичного ключа мало, всё ли в порядке с приватным ключём? Если он читаем для всех - не пустит. И вообще, включаем дебаг на сервере и смотрим в логи - там всё достаточно по-человечески разъясняется в случае отказа.