Prosta sprawa – ale prosta, dopiero jak się wie. Póki się nie wiedziało… to efekt był taki, że mimo logowania za pomocą klucza prywatnego i publicznego klient dostawał ciągle odpowiedź „server refused our key”.
Mniej więc tutaj chcę się skupiać na rozwiązaniu konkretnego problemu, a bardziej na tym, jak diagnozować ten problem. A diagnozowanie jest proste.
1. Na serwerze (bo przecież to server odrzuca klucz) przejdź do pliku konfiguracyjnego sshd:
sudo vim /etc/sshd/sshd_config
2. W tym pliku dodaj linijkę:
LogLevel DEBUG3
3. Zrestartuj sshd:
sudo systemctl restart sshd
4. Przeprowadź kolejne logowanie, które pewnie zakończy się błędem „server refused our key”
5. Przeszukaj zawartość pliku /var/log/auth.log lub /var/log/secure (nazwa pliku może się różnić w zależności od wersji).
No i na tym można by skończyć, bo przykładowy wpis w pliku log może być taki:
Jun 24 18:18:48 u20 sshd[22912]: debug1: temporarily_use_uid: 1000/1000 (e=0/0) Jun 24 18:18:48 u20 sshd[22912]: debug1: trying public key file /home/boss/.ssh/authorized_keys Jun 24 18:18:48 u20 sshd[22912]: debug1: Could not open authorized keys '/home/XXX/.ssh/authorized_keys': No such file or directory Jun 24 18:18:48 u20 sshd[22912]: debug1: restore_uid: 0/0 Jun 24 18:18:48 u20 sshd[22912]: debug1: temporarily_use_uid: 1000/1000 (e=0/0) Jun 24 18:18:48 u20 sshd[22912]: debug1: trying public key file /home/XXX/.ssh/authorized_keys2 Jun 24 18:18:48 u20 sshd[22912]: debug1: Could not open authorized keys '/home/XXX/.ssh/authorized_keys2': No such file or directory Jun 24 18:18:48 u20 sshd[22912]: debug1: restore_uid: 0/0 Jun 24 18:18:48 u20 sshd[22912]: debug3: mm_answer_keyallowed: publickey authentication test: RSA key is not allowed
Innymi słowy, chociaż klucz publiczny miał być w katalogu .ssh, to jednak go tam nie było 🙂 Głupotka….
Zauważ, że ten rodzaj błędu był logowany na poziomie debug1, a my w pliku konfiguracyjnym napisaliśmy debug3. Ten zwiększony poziom szczegółowości może się przydać np. jeśli w kluczu straciła się jedna literka. Ten rodzaj informacji jest logowany na poziomie 3.