Sto provando a configurare l'autenticazione ssh con file chiave anziché nome utente / password. Il client è un box di Windows che esegue PuTTY e il server è un server Ubuntu 12.04 LTS.
Ho scaricato puttygen.exe e ho generato una coppia di chiavi. In /etc/ssh/sshd_config
ho questa linea:
AuthorizedKeysFile %h/.ssh/authorized_keys
e sul file della chiave pubblica del mio client dice questo:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Ho copiato la parte da "ssh-rsa AAA" a "my@email.address.com" e l'ho inserita nel file ~/.ssh/authorized_keys
sul mio server (nella mia cartella home). In PuTTY in Connessione> SSH> Auth ho inserito il percorso della chiave privata generata sul mio client e salvato le impostazioni della sessione.
Ho riavviato il server SSH con
sudo service ssh restart
Ora se carico il profilo in PuTTY (ho verificato che la chiave privata è ancora in Connessione> SSH> Auth e che il percorso è corretto) ed eseguo il profilo, si dice
Server refused our key
Ho provato a mettere la chiave pubblica in un file nella directory ./ssh/authorized_keys/
ma non mi è stato di aiuto, quindi l'ho usata ./ssh/authorized_keys
come file , incollando la chiave in essa. Ho anche provato a generare una coppia di chiavi privata / pubblica sul server, inserendo la chiave pubblica ./ssh/authorized_files
e caricando quella privata in PuTTY sul mio client. Il riavvio del server non ha aiutato neanche.
Ho scoperto che l'errore può essere risolto inserendo la chiave in un luogo esterno alla cartella principale dell'utente, ma è utile solo se la cartella principale è crittografata, cosa che non lo è.
Ho anche provato a generare una chiave a 4096 bit, pensando che forse 1024 era troppo corto.
Come posso farlo funzionare? Grazie!
MODIFICARE:
Ok, ha /var/log/auth.log
detto:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google mi dice che ~/.ssh/
dovrebbe essere 700 e ~/.ssh/authorized_keys
dovrebbe essere 600, quindi l'ho fatto. Ora /var/log/auth.log
dice:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
quell'erroreauth.log
?