Pri prihlasovani pomoci public key neni vyzadovana passphrase

Založil polo, 03. 07. 2011, 11:34:09

Předchozí téma - Další téma

polo

Ahoj,

mam mozna hloupou otazku, ale tlaci me cas... Prejdu rovnou k problemu. Vygeneroval jsem si par klicu s tim ze verejny jsem nakopiroval na server do authorized_keys. Kdyz se vsak prihlasuju na server tak me to okamzite prihlasi, aniz by to po me chtelo passphrase. Ja, ale chci, aby passphrase byla vyzadovana.

Nevite cim by to mohlo byt?
Diky.

Hobild


polo

Omlouvam se za nepresny popis problemu ...samozrejme ssh.
SSH u me na stanici:
ssh -v
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007


SSH na serveru:
ssh -v
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007

Hobild

#3
ssh standardne pouziva autentizaci klicem, nikoli heslem, proto pri spravnem nastaveni klicu se na heslo nepta - coz bude tvuj pripad.
Klicove slovo pro nastaveni vyzvy hesla je PasswordPromt Zadejte svoje heslo:
symbol %U je jmeno vzdaleneho uzivatele, %H nazev vzdaleneho uzivatele, tedy nejak takhle:
PasswordPromt "%U@%H' zadejte svoje heslo:"
Autentizace heslem se nepovazuje za bezpecnou variantu, lze podvrhnout cilovy stroj atp. Pokud pouzivas OpenSSH, pak to bude v nejspis nastaveni PAM, lze ovsem nastavit i pouzivani Kerberose (nutno zadat pri kompilaci ssh), pripadne jednorazova hesla atp., coz neni rozsahem pro podobne forum.
V souboru nastaveni sshd  se nastavuje zpusob autentizace takto:
  AllowedAuthentications password,hostbased,publickey...
coz znamena jakoukoli z uvedenych metod
Naproti tomu
  RequiredAuthentications password,publickey
obsahuje vyzadovane zpusoby prihlaseni, v tomto pripade jak heslem, tak i klicem, coz je asi to, co potrebujes.
Samotna autentizace heslem pomoci klicoveho slova:
  PasswordAuthentication se k pouzivani nedoporucuje, pouzij vyse zminene AllowedAuthentications a RequiredAuthentications a tohle vyuzij, kdyz to ostatne nezabere.

Po zmene nastaveni nezapomen restartovat server.

Jo a jeste poznamku - to co jsem psal se tyka SSH 2, nikoli OpenSSH, ale predpokladam, ze rozdily budou kosmeticke.
H.


polo

Ahoj,

diky za prispevek, ale asi jsi mne nepochopil spravne. Ja nemluvim o hesle, ktere to po me nechce - naopak to je ucel pomoci prihlasovani pomoci klicu. Pri generovani klicu jsem zadaval passphrase, ktera slouzi jako ochrana pred odcizenim klice. Kdyz se pomoci klice prihlasuji mel bych byt dotazany na passphrase coz nejsem a to neni v poradku...

Hobild

jde ti o pristupovou frazi, ne o klic, tim se neprihlasujes. Ten slouzi jako identifikator pro prihlaseni na server mezi ssh-agentem a ssh-serverem. Na serveru bude verejna cast, u klienta soukroma. Porovnanim se provede identifikace. Rovnez se porovnava identifikacni klic serveru, aby nedochazelo k podvrzeni stroje.
Autentizace je v rezii serveru, pozadavky klienta jsou jen na urovni "zadosti", tedy konkretni autentizacni metodu voli server. Problem tedy bude nejspis v nastaveni tam.
Nejvic info zjistis z logu; nastav si
  ssh -o LogLevel=DEBUG
a zkus sledovat, co se deje.

Dalsi mozne priciny:
Nepouzivas nahodou agenta SSH? Tan si pamatuje soukrome klice a zajistuje autentizaci vsem klientum SSH, takze klienti nevyzaduji pristupovou frazi, ale budou komunikovat s timhle agentem (ssh-agent). Mozna se ti spousti pri startu systemu, podivej se do bezicich procesu. Program ssh-add zavadi klice prave do ssh-agent.

Nepouzivas nahodou Kerberos? V tom pripade se pristupove fraze take nevyzaduji

H.

polo

Cau, na serveru nemam moc moznost neco menit - nejsem jeho spravce. Kerberos nepouzivam... Je to jak rikas - pri prihlasovani pomoci klice chci byt dotazan na passphrase a to je podle me potreba konfigurovat na klientu.  Vypada to ze ssh-agent nebezi... Jinak jak funguje autentizace pomoci klicu vim:)

Na klientu:
sudo ps aux | grep -i ssh
root      6087  0.0  0.0   5552   628 ?        Ss   Jul05   0:00 /usr/sbin/sshd
root      6887  0.0  0.0   4972   752 ?        Ss   Jul05   0:12 /usr/lib/openssh/sftp-server
root      6956  0.0  0.0   4968   552 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
root      6987  0.0  0.0   4968   552 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
root      6995  0.0  0.0   4968   548 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
polo     14329  0.0  0.0   2380   852 pts/0    S+   14:10   0:00 grep -i ssh

Hobild

Citace od: polo kdy 06. 07. 2011, 14:13:56
...Vypada to ze ssh-agent nebezi...

Na klientu:
sudo ps aux | grep -i ssh
root      6087  0.0  0.0   5552   628 ?        Ss   Jul05   0:00 /usr/sbin/sshd
root      6887  0.0  0.0   4972   752 ?        Ss   Jul05   0:12 /usr/lib/openssh/sftp-server
root      6956  0.0  0.0   4968   552 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
root      6987  0.0  0.0   4968   552 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
root      6995  0.0  0.0   4968   548 ?        Ss   Jul05   0:00 /usr/lib/openssh/sftp-server
polo     14329  0.0  0.0   2380   852 pts/0    S+   14:10   0:00 grep -i ssh

Zda se ze ne, zrejme jsi instaloval rucne, protoze v defaultni instalaci SSH (na mem squeeze) bezi.
Uprimne - napada me jenom nejake nestandardni nastaveni v SSH, protoze passphraze je standardne vyzadovana. Nektere moznosti:
pri rucnim spusteni pozadavku na pripojeni pouzit parametr -a, ktery zakaze pouzivani agenta (pro jistotu vylouceni jeho vlivu)
, dale -v (verbose).
Overit, zda v konfiguraku neni parametr BatchMode = yes, pokud ano, zmenin na "no".
Parametr UseRsh = no , pokud neni, dopln. To je obrana proti serverum, ktere neumi ssh a automaticky prevadeji spojeni na rlogin/rsa. V takovem pripade by na passphrasi take nedoslo. Pokud se pak spojeni nepodari, vis, na cem jsi ohledne serveru.
H.

Palo M.

Citace od: polo kdy 06. 07. 2011, 14:13:56
pri prihlasovani pomoci klice chci byt dotazan na passphrase a to je podle me potreba konfigurovat na klientu.
Odporucam najprv overit, ci passphrase je pritomny v kluci. Ak je passphrase nastavena, v subore s privatnym klucom by mal zacinat takto nejako:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,blablabla

Ak sa tam nenachadza ENCRYPTED, tak je kluc bez passphrase...

Potom by som skusil vynutit pouzitie prave toho kluca, ktory chces (a tiez pre istotu zakazal toho Kerbera):
ssh -k -i id_rsa user@host


No a ked nic nezaberie, tak pouzit este -vvv a vrtat sa v debugovacich informaciach - tam je vidiet, co sa presne pouziva pri autentikacii...