Disconnesso: nessun metodo di autenticazione supportato disponibile


12

Ho lo stesso identico problema descritto in questo thread , ma la risposta accettata non è quella giusta per me, perché la home directory dell'utente è locale.

Penso di aver configurato tutto correttamente sul lato client (Windows 7, PAGEANT, PUTTYGEN e PLINK di PuTTY), ma non mi sembra che il meccanismo a chiave pubblica funzioni (login ssh basato su password funziona). Ho seguito tutti i passaggi, i suggerimenti e i suggerimenti in:

Ora sospetto che mi possa mancare qualcosa sul lato server (Linux, sshd), quindi sto pubblicando il /etc/ssh/sshd_configcontenuto corrente :

Protocol 2
SyslogFacility AUTHPRIV
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
Subsystem       sftp    /usr/libexec/openssh/sftp-server

Hai idea di cosa sto facendo di sbagliato?

AGGIORNAMENTO: ho trovato un suggerimento per l'esecuzione di sshd in modalità debug , ed ecco l'output:

/home/winwin> /usr/sbin/sshd -d
debug1: sshd version OpenSSH_4.2p1
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.1.8 port 49828
debug1: Client protocol version 2.0; client software version PuTTY_Release_0.60
debug1: no match: PuTTY_Release_0.60
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.2
debug1: permanently_set_uid: 74/74
debug1: list_hostkey_types: ssh-rsa,ssh-dss
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: client->server aes256-ctr hmac-sha1 none
debug1: kex: server->client aes256-ctr hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST_OLD received
debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: KEX done

debug1: userauth-request for user winwin service ssh-connection method none
debug1: attempt 0 failures 0
debug1: PAM: initializing for "winwin"
debug1: PAM: setting PAM_RHOST to "win7client"
debug1: PAM: setting PAM_TTY to "ssh"
Failed none for winwin from 192.168.1.8 port 49828 ssh2
debug1: userauth-request for user winwin service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 513/513 (e=0/0)
debug1: trying public key file /home/winwin/.ssh/authorized_keys
Authentication refused: bad ownership or modes for directory /home/winwin
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 513/513 (e=0/0)
debug1: trying public key file /home/winwin/.ssh/authorized_keys
Authentication refused: bad ownership or modes for directory /home/winwin
debug1: restore_uid: 0/0
Failed publickey for winwin from 192.168.1.8 port 49828 ssh2
Received disconnect from 192.168.1.8: 14: No supported authentication methods available
debug1: do_cleanup
debug1: PAM: cleanup
debug1: do_cleanup
debug1: PAM: cleanup

Ora noto i due bad ownership or modes for directory /home/winwinmessaggi ma ho controllato la proprietà o le modalità per directory / home / winwin e AFAICT sono a posto:

/home> ls -lad winwin
drwxrwxr-x  21 winwin winwin 4096 Jul 13 21:24 winwin

E:

/home/winwin> ls -lad .ssh
drwxr-xr-x  2 winwin winwin 4096 Jul 14 12:06 .ssh

E:

/home/winwin/.ssh> ls -lad *
-rw-r--r--  1 winwin winwin 210 Jul 14 12:06 authorized_keys
-rw-r--r--  1 winwin winwin 210 Jul 14 01:58 authorized_keys.pub
-rw-r--r--  1 winwin winwin 394 Jul 14 01:57 authorized_keys.pub.orig

Cosa potrebbe essere sbagliato?

AGGIORNAMENTO II: Ho provato chmod 600come suggerito nella risposta di seguito:

/home/winwin> ls -lad .ssh
drw-------  2 winwin winwin 4096 Jul 14 13:13 .ssh

E:

/home/winwin/.ssh> ls -lad *
-rw-------  1 winwin winwin 210 Jul 14 12:06 authorized_keys

Ma non funziona ancora. Perché visualizzo ancora l' Authentication refused: bad ownership or modes for directory /home/winwinerrore?

Risposte:


9

Prova a prendere le autorizzazioni scrivibili dal gruppo dalla tua home directory:

chmod g-w ~/

Rendi la tua cartella .ssh leggibile / scrivibile / eseguibile solo da te :

chmod 700 ~/.ssh

Rendi leggibile / scrivibile il tuo file di chiavi autorizzato solo da te :

chmod 600 ~/.ssh/authorized_keys

Ciò dovrebbe rimuovere gli errori di autorizzazione.


Ho fatto proprio come mi hai suggerito ~/.sshe ~/.ssh/authorized_keys. Ancora niente fortuna. Per quanto riguarda l'ottenimento delle autorizzazioni scrivibili dal gruppo dalla home directory stessa, non posso farlo poiché ciò minerebbe l'intero scopo di questo utente / gruppo per cui è stato creato. La home directory di questo utente deve essere scrivibile dal gruppo (con lo stesso nome esatto e gid!). +1 per tentare di aiutare.
Win Win

Grazie! chmod g-w ~/mi ha salvato dopo ore di follia e capelli tirati quando non potevo fare la ssh con stucco per conto di uno degli utenti, con altri utenti che lavoravano bene ...
PavelS

Grazie Gah, ho creato la mia directory home con l'altro mio utente e mi mancava chmod gw ~ /
Clarence Liu,

5

Successo!

Tutto quello che dovevo fare è passare StrictModesa no .

Per la sezione 3.14 nelle FAQ di OpenSSH e http://blogs.nullvision.com/?p=114 .

Wow.


Tuttavia, questa è più una soluzione alternativa che una soluzione. Fammi controllare qualcosa sulla mia scatola.
Rob,

Il mio ls -lad .sshsta mostrando drwx, quindi chmod 700 ~/.sshi file all'interno sono tutti -rw, quindi chmod 600 ~/.ssh/*-SHOULD- funzionano.
Rob,

Nevermind, saw La home directory di questo utente deve essere scrivibile dal gruppo (con lo stesso identico nome e gid!) In basso
Rob

In questo modo è inutile!
Adoro il

3

Ha avuto un problema simile. Quando ho dato un'occhiata in giro ho notato che avevo le mie directory home crittografate e sospettavo che fosse questo il problema. Ho copiato il file delle chiavi autorizzate in una directory esterna alla home directory crittografata, ho modificato le autorizzazioni in modo appropriato (chmod 700 [dir], chmod 600 [dir] / authorized_keys, ecc.).

Quindi modifica il tuo sshd_config per dire a sshd della nuova posizione per il file delle chiavi autorizzato, riavvia sshd e il gioco è fatto.

Sembra aver risolto il mio problema.


2

Sembra che le tue autorizzazioni per la home directory (o forse la tua cartella .ssh / authorized_keys) siano errate. La correzione di questi dovrebbe risolvere il problema di accesso. Prova chmod 600 /home/winwin/.ssh/*
Potrebbe essere necessario chmod 700 /home/winwin/.ssh.

SSHd rifiuterà di caricare il tuo authorized_keysfile se può essere scritto da chiunque diverso dal tuo utente (come proprietario) perché è un rischio per la sicurezza.


Grazie +1. Vedi il mio aggiornamento sopra, poiché non riesco ancora a capire quali dovrebbero essere le autorizzazioni / proprietà corrette.
Win Win

Ci ho appena provato chmod 600 /home/winwin/.ssh/*. Non ha aiutato : - /
WinVin

1
@WinWin l'hai impostato anche nella .sshdirectory? (Ho aggiornato la mia risposta).
Darth Android

Si l'ho fatto. Ancora niente fortuna.
Vinci il

2

Ho lottato per questo e alla fine ho trovato una soluzione che non causa una potenziale violazione della sicurezza come StrictModes No fa.

Assicurati che le tue impostazioni siano le seguenti:

chmod 0755 / home / {userdir}

chmod 0700 / home / {userdir} /.ssh

chmod 0600 / home / {userdir} /.ssh/authorized_keys

Dove {userdir} è la directory in questione.

La chiave è chmod 0755 che garantisce che solo l'utente può scrivere sull'unità principale. L'ho copiato dalla mia configurazione utente che ha funzionato e, presto!Anche gli altri nomi utente hanno iniziato a funzionare!

Spero che questo aiuti gli altri come me, e ti fa risparmiare un paio d'ore di tempo.


1

Questo messaggio di errore può anche essere causato da SELinux che impedisce l'accesso a sshd authorized_keys. Prova questo:

restorecon -FRvv ~/.ssh

(da questa risposta )


0
chown -R winwin.winwin /home/winwin/
chmod 700 /home/winwin/
find /home/winwin/ -type d -exec chmod 700 {} \;
find /home/winwin/ -type f -exec chmod 600 {} \;

3
Benvenuto in Super User! Sarebbe bello se potessi spiegare cosa fanno questi comandi.
Slhck,

0

Nel mio caso era la home directory che aveva un altro proprietario (root) rispetto all'utente reale a cui appartiene questa home directory (la mia stupidità quando si crea la home directory con root per un altro utente).

Chown [user]:[group] /home/[user] 

ha risolto questo problema (e ovviamente attenersi alle autorizzazioni file / dir come condivise in altre risposte).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.