Abilita l'accesso ssh-key solo al mio Mac per 1 utente

20

Ho un Macbook Air che vorrei consentire l'accesso SSH remoto senza una password. Ho creato un utente chiamato remotepair con cui ho eseguito l'accesso e verificato che posso utilizzare il Mac con. Ho anche aggiunto questo utente alla lista degli utenti consentiti del servizio "Rimuovi login" e acceso il servizio. Tutto ciò è stato fatto nel pannello di controllo "Condivisione".

Ho ottenuto la chiave pubblica di un altro computer e l'ho aggiunta al file /Users/remotepair/.ssh/authorized_keys . Quando l'altro computer fa ssh remotepair@<my ip> , ricevo comunque una richiesta di password.

Come disabilitare questa richiesta di password?

    
posta Jason 31.07.2012 - 05:25
fonte

4 risposte

26

Per disabilitare l'autenticazione della password devi modificare /etc/sshd_config . In Terminal :

sudo vim /etc/sshd_config

(o sostituisci con il tuo editor preferito)

Cerca la riga:

#ChallengeResponseAuthentication yes

E cambialo in:

ChallengeResponseAuthentication no

Cioè, rimuovi il # all'inizio e modifica yes in no .

Tutti i successivi accessi ssh ora RICHIEDONO di usare una chiave ssh e non richiederanno una password. Assicurati che la tua chiave ssh funzioni prima di fare questo se non hai accesso locale! Non è necessario riavviare il demone ssh o altro perché viene avviato su richiesta per ogni nuova connessione in entrata. Tieni presente che potresti anche visualizzare una riga PasswordAuthentication , ma quella predefinita è già no .

Se le tue chiavi ssh non funzionano, questo è un problema separato, ma questo risponde alla domanda così com'è ora:)

    
risposta data 31.07.2012 - 13:39
fonte
2

Per aggiornare la risposta per macOS Sierra (in particolare 10.12.6), sembra che il file di configurazione sia ora /etc/ssh/sshd_config

2 righe devono essere decommentate + modificate per disabilitare completamente l'autenticazione della password: (Queste sono le righe dalla 57 alla 62, incluse, nel file sshd_config predefinito)

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
#PermitEmptyPasswords no

# Change to no to disable s/key passwords
ChallengeResponseAuthentication no

Come accennato in precedenza, è possibile abilitare / disabilitare l'accesso ssh dalla GUI di System Preferences.app e non è necessario riavviare il demone tra la modifica della configurazione.

    
risposta data 25.10.2017 - 01:48
fonte
1

Dovresti controllare le autorizzazioni delle directory coinvolte: /Users/remotepair/ e /Users/remotepair/.ssh , non devono consentire l'accesso in scrittura da parte di "altri" utenti. Il mio .ssh ha diritti di accesso solo per il proprietario.

Inoltre, sul sistema remoto, fai una ssh -v remotepair@yoursystem per vedere quali metodi di autorizzazione sono consentiti e tentati. Cerca Authentications that can continue: publickey,password,keyboard-interactive . Forse devi abilitare RSAAuthentication sul tuo sistema.

    
risposta data 31.07.2012 - 08:25
fonte
1

Su un sistema di test qui, disabilitando il prompt SSH sono state necessarie le seguenti due righe da aggiungere a /etc/sshd_config :

PasswordAuthentication no
ChallengeResponseAuthentication no

I commenti in sshd_config consigliano inoltre di aggiungere la seguente riga:

UsePAM no
    
risposta data 22.01.2017 - 01:12
fonte

Leggi altre domande sui tag