Autoryzacja kluczami (SSH) - problemy
08 maja 2010 blog security ssh
Autoryzacja kluczami (SSH), opis najcz臋艣ciej spotykanych problem贸w
Autoryzacja kluczami (SSH) - problemy
08 maja 2010 blog security ssh
Autoryzacja kluczami (SSH), opis najcz臋艣ciej spotykanych problem贸w
Generujemy par臋 kluczy, eksportujemy na serwer i zrobione.
ssh-keygen -t rsa #kilka razy potwierdzamy enterem
ssh-copy-id -i ~/.ssh/id_rsa.pub uzytkownik@serwerssh #kopiowanie kluczy
Programik ssh-copy-id mo偶na zast膮pi膰 doklejeniem id_rsa.pub na koniec .ssh/authorized_keys
na serwerze. Po uprzednim skopiowaniu klucza publicznego, logujemy si臋 na serwer i:
cat klient-id_rsa.pub >> ~/.ssh/authorized_keys
Jeszcze inny spos贸b:
cat ~/.ssh/id_rsa.pub | ssh -p 22 uzytkownik@serwerssh 'cat >> ~/.ssh/authorized_keys'
Wi臋cej informacji na www.debian-administration.org, help.ubuntu.com oraz jimmyg.org.
Je艣li wszystko posz艂o dobrze, w tym momencie dost臋p do serwera powinien by膰 mo偶liwy bez podawania has艂a.
Gdyby dost臋p wci膮偶 by艂 niemo偶liwy bez podawania has艂a, przyczyn mo偶e by膰 kilka.
Naprawd臋, sprawd藕 2 razy konfiguracj臋 firewalla, forwardowanie port贸w w routerze, wpisy w /etc/hosts.allow
i /etc/hosts.deny
, konfiguracj臋 wszelkich filtr贸w w stylu iplist. Jak sko艅czysz, sprawd藕 jeszcze raz. Wi臋kszo艣膰 b艂臋d贸w jest spowodowana pomy艂k膮 cz艂owieka, wi臋c na 80% problem jest spowodowany przez zapomnienie o kt贸rej艣 ze wspomnianych rzeczy.
Wi臋cej informacji (niewiele wi臋cej ;)) na forums.gentoo.org.
Chodzi o akceptowane sposoby 艂膮czenia si臋 z serwerem SSH. Ja mam w艂膮czon膮 autoryzacj臋 has艂em (tak na wszelki wypadek) i kluczami. Odpowiadaj膮 za to nast臋puj膮ce wpisy w /etc/ssh/sshd_config
:
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes
Po zmianie, nale偶y zrestartowa膰 serwer ssh. W zale偶no艣ci od dystrybucji:
sudo /etc/rc.d/sshd restart
lub
sudo /etc/init.d/sshd restart
Nale偶y si臋 upewni膰, 偶e pliki maj膮 nadane odpowiednie uprawnienia (na serwerze i na klientach).
chmod 700 ~/.ssh
chmod 644 ~/.ssh/*
chmod 600 ~/.ssh/id_rsa
Problem objawia si臋 komunikatem:
debug3: no such identity: /home/dmn/.ssh/id_dsa
Nale偶y si臋 w pierwszej kolejno艣ci upewni膰, 偶e prawa dost臋pu s膮 dobrze ustawione (patrz: punkt wy偶ej). Natomiast we wspomnianej wersji OpenSSH musimy wskaza膰 po艂o偶enie kluczy klient贸w uprawnionych do logowania bez podania has艂a. Odpowiada za to nast臋puj膮cy wpis w konfiguracji (/etc/ssh/sshd_config
):
AuthorizedKeysFile %h/.ssh/authorized_keys
Magiczne "%h
" m贸wi serwerowi ssh, 偶eby przeszuka艂 katalog domowy u偶ytkownika.
Wi臋cej informacji na www.gossamer-threads.com.
Problem objawia si臋 komunikatem:
Agent admitted failure to sign using the key
W tym przypadku rozwi膮za艅 jest kilka.
Ustawiamy zmienn膮 przed po艂膮czeniem si臋 z serwerem:
SSH_AUTH_SOCK=0 ssh uzytkownik@serwerssh
U偶ywamy ssh-add, kt贸ry powinien doda膰 nasz膮 to偶samo艣膰 do agenta autoryzacji:
ssh-add; ssh uzytkownik@serwerssh
Je艣li u偶ywamy gnome, prawdopodobnym sprawc膮 jest demon seahorse.
gconftool-2 --set -t bool /apps/gnome-keyring/daemon-components/ssh false
Wi臋cej informacji na bugs.launchpad.net.
Problem objawia si臋 komunikatem:
debug1: Next authentication method: publickey
debug1: Trying private key: /home/dmn/.ssh/jakasdziwnanazwa
debug3: no such identity: /home/dmn/.ssh/jakasdziwnanazwa
Rozwi膮zanie: podanie 艣cie偶ki do pliku id_rsa:
ssh -i ~/.ssh/id_rsa serwer
Ostatecznym rozwi膮zaniem, nie sprawdzonym przeze mnie, jest instalacja alternatywnego oprogramowania.
Wi臋cej informacji na www.cybermilitia.net.
No trudno, mo偶e tak mia艂o by膰... Zbierz pliki konfiguracji, listingi plik贸w z katalog贸w .ssh
oraz informacje debugera i udaj si臋 z tak przygotowan膮 paczuszk膮 na jakie艣 forum linuksowe :)
Na koniec jeszcze jak w艂膮czy膰 wspomniane informacje. Na serwerze (z uprawnieniami root):
`which sshd` -ddd -p 2222
Na kliencie:
ssh -vvv uzytkownik@serwerssh -p 2222