Logowanie SSH bez hasła Linux i Mac OS

Tym razem ostatni przepis na szybkie logowanie bez haseł z Linuxa i Mac OS. Jest to rozwinięcie moich wpoprzednich wpisów w tym temacie.

Ok. Na początek musimy sobie wygenerować klucz publiczny – o ile go jeszcze nie mamy. Warto sprawdzić:

cat ~/.ssh/id_rsa.pub

Jeżeli nie mamy, trzeba go wygenerować

slav@frebsd:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/slav/.ssh/id_rsa):
Created directory '/home/slav/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/slav/.ssh/id_rsa.
Your public key has been saved in /home/slav/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx slav@freebsd

Ok. Teraz musimy zrobić sobe “miejsce” na klucz a docelowym serwerze. Możemy to zrobić bezpośrednio na docelowym serwerze, albo zdalnie:

slav@freebsd:~> ssh slav@server mkdir -p .ssh
slav@server's password:

No i finalnie wgrywamy klucz publiczny z naszego pudełka na serwer:

slav@freebsd:~> cat .ssh/id_rsa.pub | ssh slav@server 'cat >> .ssh/authorized_keys'
slav@server's password:

I teoretycznie wszystko nam już działa. Jeżeli nie, sprawdźmy po raz kolejny uprawnienia:
dla katalogu .ssh na 700 i uprawnienia .ssh/authorized_keys na 640
Ewentualnie skopiujmy klucz publiczny do pliku: .ssh/authorized_keys2