Come posso bloccare il mio account dall'accesso ssh remoto con password?


10

Non voglio disabilitare del tutto il login remoto con password, ma voglio farlo in modo che il mio account sia accessibile solo con l'autenticazione con coppia di chiavi (ci sono altri utenti che vogliono usare le password per accedere). È possibile modificarlo in base all'utente, idealmente senza modificare le impostazioni di sistema?

E per chiarire, il mio account ha accesso sudo, quindi non voglio bloccare la password.

Risposte:


9

Puoi usare l'opzione Abbina in sshd_config

Abbina Introduce un blocco condizionale. Se tutti i criteri sulla riga di corrispondenza sono soddisfatti, le parole chiave nelle righe seguenti hanno la precedenza su quelle impostate nella sezione globale del file di configurazione, fino a quando non viene trovata un'altra riga di corrispondenza o la fine del file. [1]

Quindi, alla fine di quel file è possibile specificare:

Match User yourusername
PasswordAuthentication no

Vedi man 5 sshd_configper tutte le opzioni disponibili.

[1] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5


Questo è già buono, ma voglio vedere se posso fare a meno di modificare sshd_config.
phunehehe,

2
Dato che vuoi apportare una modifica al sistema, vale a dire, uno che non influisce su altri utenti, sembra improbabile ...
Jasonwryan,

e che dire di ~ / .ssh / config? Hai provato a includere le impostazioni lì?
ttyS0,

1
AFAK ~ / .ssh / config in per il client, non per il server.
Adam Byrtek,

1

La risposta di Jasonwryan sarà il modo giusto per fare questo cambiamento. L'unica aggiunta che farei è che potresti impostare la corrispondenza in modo che sia basata sul gruppo in modo tale che tutti gli utenti nel gruppo di ruote possano utilizzare l'autenticazione con chiave mentre altri potrebbero usare le password.

So che vuoi farlo senza cambiare i file di configurazione del sistema, ma c'è una buona ragione per cui ciò non sarà possibile. Nella tua testa ha senso che il tuo utente dovrebbe essere in grado di istituire una politica di accesso più sicura, ma solo perché nella tua mente è un'opzione più sicura non cambia il fatto che è ancora una modifica ai requisiti di accesso al sistema per un utente remoto.

Per capire perché questo è un problema, immagina lo scenario al contrario. L'amministratore di sistema (che può modificare i file di configurazione del sistema) imposta il sistema solo per l'accesso basato su chiave. Quindi, alcuni utenti arrivano e hanno accesso solo al proprio file utente e impostano il proprio account per consentire l'autenticazione della password, ignorando i criteri di sistema. BEEEEEEP . Problema di sicurezza!

Ciò spiega perché il tipo di modifica che si desidera apportare è possibile solo dal file di configurazione del sistema?


È difficile pensare in questo modo, poiché se fossi un utente normale che non sudo, posso impostare felicemente le mie chiavi e bloccare la password, rendendo così il mio account "autenticazione solo chiave".
phunehehe,

In un altro pensiero, potrei bloccare la mia password ogni volta che sto per disconnettermi, il che dovrebbe impedire a tutte le password di accedere al mio account. Quindi, una volta effettuato l'accesso con le mie chiavi, potrei abilitare nuovamente la password su sudo. Ovviamente non è una buona soluzione, ma mi fa pensare che sia possibile.
phunehehe,

1
Puoi farlo solo perché l'amministratore di sistema ha autorizzato l'autenticazione con chiave e stai solo aggiungendo restrizioni per te stesso, senza cambiare nulla. La disabilitazione della password la imposta semplicemente su un valore non valido, non modifica l'autenticazione consentita dal daemon di sistema.
Caleb,

"aggiungere restrizioni per te stesso, non cambiare nulla", è esattamente quello che voglio fare.
phunehehe,

@Caleb: non ci sarebbero problemi di sicurezza nel consentire authorized_keysdi porre più restrizioni, come vuole phunehehe. Ad esempio, è authorized_keyspossibile limitare determinati tasti a determinati comandi.
Gilles 'SO- smetti di essere malvagio'

0

Aggiungendo restrizioni per te stesso, non cambiando nulla

Perché non sul lato client, se è sicuro che ssh sarebbe il client da utilizzare per i tentativi di accesso? Se sì, prova ad apportare modifiche a ssh_config anziché a sshd_config. Controllare il parametro 'PasswordAuthentication No' e PreferredAuthentications

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.