Newsgroup: it.comp.os.linux.software
Titolo: ssh e autenticazione a chiave pubblica/privata

Ciao a tutti,
oggi, visto che non avevo niente da fare, mi sono deciso ad imparare
come funziona il sistema a chiava pubblica/privata di openssh, come
concetto non e` difficile, quello che e` difficile e` far funzionare
la procedura di autenticazione, che, c.v.s., non funziona
Ho creato una chiave con "ssh-keygent -t dsa", poi con sftp ho copiato
la chiave pubblica (id_dsa.pub) nella $HOME/.ssh/autorized_keys2 del mio
utente sull'host remoto, da quello che ho capito questo dovrebbe
bastare, ed infatti...
[ac@neptune:~]$ ssh 
a...@192.168.1.2
a...@192.168.1.2
's password: 
...non funziona, cioe`, senza "ssh-agent" in background, dovrebbe essere
chiesta una password, che pero` dovrebbe essere quella della mia chiava
privata, e non quella del mio account remoto!
Allego uno stralcio di "ssh -v -v -v 
a...@192.168.1.2
" e di sshd -d -d -d
(notare che per prova ho creato anche una chiave rsa):
[ssh]
debug1: authentications that can continue:
publickey,password,keyboard-interactive
debug3: start over, passed a different list
publickey,password,keyboard-interactive
debug3: preferred publickey,password,keyboard-interactive
debug3: authmethod_lookup publickey
debug3: remaining preferred: password,keyboard-interactive
debug3: authmethod_is_enabled publickey
debug1: next auth method to try is publickey
debug1: try pubkey: /home/ac/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: authentications that can continue:
publickey,password,keyboard-interactive
debug1: try pubkey: /home/ac/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: authentications that can continue:
publickey,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: keyboard-interactive
debug3: authmethod_is_enabled password
debug1: next auth method to try is password
a...@192.168.1.2
's password:
[sshd]
debug1: Starting up PAM with username "ac"
debug3: Trying to reverse map address 192.168.1.1.
debug1: PAM setting rhost to "xxxxx.xxxxxxxx.xxxx"
debug2: input_userauth_request: try method none
Failed none for ac from 192.168.1.1 port 34776 ssh2
debug1: userauth-request for user ac service ssh-connection method publickey
debug1: attempt 1 failures 1
debug2: input_userauth_request: try method publickey
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: xxxx/xxxx (e=0)
debug1: restore_uid
debug2: userauth_pubkey: authenticated 0 pkalg ssh-dss
Failed publickey for ac from 192.168.1.1 port 34776 ssh2
debug1: userauth-request for user ac service ssh-connection method publickey
debug1: attempt 2 failures 2
debug2: input_userauth_request: try method publickey
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 1002/1002 (e=0)
debug1: restore_uid
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
Failed publickey for ac from 192.168.1.1 port 34776 ssh2
Ora, io mi sono letto gli ultimi messaggi di comp.security.ssh che 
parlavano di "passwordless/public key authentication", ma non sono 
venuto lo stesso a capo di nulla, in genere l'errore comune e` quello di
creare una chiave rsa1 e di mettere "identity.pub" in "autorized_keys",
ma non e` il mio problema
Ah, allego anche la conf. di ssh_config e sshd_config:
[ssh_config]
Host *
ForwardAgent no
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
CheckHostIP yes
StrictHostKeyChecking yes
IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/id_rsa
Port 22
Protocol 2,1
Cipher blowfish
EscapeChar ~
Compression yes
UsePrivilegedPort no
[sshd_config]
Port 22
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin yes
IgnoreRhosts yes
StrictModes yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog no
KeepAlive yes
SyslogFacility AUTH
LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
UseLogin no
...In pratica e` la conf. di default di Debian, piu` un paio di aggiunte
ad ssh_config, la versione di ssh e` la 2.9p2, la prova l'ho fatta anche
su openbsd, immagino che l'errore sia mio, ma non riesco ad capire
qual'e` :/
Un grazie a chi mi aiuta, ma anche a chi e` riuscito ad arrivare sino
a qui! ;)
-- 
          (o_  | 
(o_  (o_  //\  | Andrea Carosi, just another Linux user
(/)_ (/)_ V_/_ |
GnuPG PK fingerprint: 0857 1927 150B 3C8E 8274  F641 1388 AA6D 3FA0 5410

 PasswordAuthentication yes
E' attivata l'autenticazione di tipo Password che viene utilizzata essendo
fallite quelle precedenti.
Se vuoi accedere solo con la chiave devi mettere
PasswordAuthentication no
Fabio

 come funziona il sistema a chiava pubblica/privata di openssh, come
                             ^^^^^^
Tzk, POVCO ! :-)))
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

  Tzk, POVCO ! :-)))
Ehm... 8P
Ciao, Andrea


  PasswordAuthentication no
Si, quello lo so`, quell'opzione l'avevo lasciata apposta, tanto
l'autenticazione passwordless (adesso) funziona, ed ho anche un
autenticazione di ripiego nel caso facessi altri errori di 
distrazione
Ciao, Andrea
