Consenti accesso root da un solo indirizzo IP


14

Ho centos5.

Esiste un modo per accedere al mio server vps con l'utente root solo da un determinato indirizzo IP.

Ho letto che posso usare la chiave privata per accedere a sshd. Ma il problema è che sto usando SFTP per tutti i miei webist e non voglio che utenti non IT utilizzino le chiavi per accedere con SFTP.

O c'è un modo in cui solo root può usare le chiavi per accedere alla shell ma per altri la sua normale password

centos  root  ssh 

Risposte:


15

Un modo migliore ora è usare la parola chiave Match:

Match Host myworkstation
        PermitRootLogin yes

o

Match Address 192.168.1.100
        PermitRootLogin yes

In questo modo, puoi lasciare PermitRootLogin impostato su 'no', ma puoi comunque accedere come root dalla tua workstation.

Questo può anche essere usato, ad esempio, per consentire a root di sincronizzare i dati tra due host.


il tuo esempio rsync è esattamente il caso d'uso per il quale ho cercato su Google questa domanda. Grazie! ;)
gennaio

Tenere presente che funziona solo utilizzando il DNS inverso dell'indirizzo IP di origine. (almeno per me era l'unico modo)
mveroone,

9

In genere è consigliabile accedere prima come utente non privilegiato, quindi utilizzare "su -" o "sudo" per ottenere i privilegi di root, ma ...

Puoi sempre mettere la restrizione IP sulla tua chiave in ~ root / .ssh / authorized_keys:

from="192.168.1.100" ssh-rsa AAAAh9uif...auwehuf== yourkey@yourhost.com

Ciò consentirebbe a ssh di utilizzare la chiave yourkey@yourhost.com solo da 192.168.1.100.


D'accordo, anche se è più complicato fare cose come sftp, rsync, sshfs ...
mveroone,

3

Uso:

PermitRootLogin senza password

In / etc / ssh / sshd_config. Ogni utente escluso il root potrà utilizzare gli accessi con password. Il root deve usare le chiavi per accedere.


Questa fessura funzionerà ?? hai provato questo

Uso quell'impostazione in ogni server che mantengo. Previene gli attacchi root bruteforce / dict. unixhelp.ed.ac.uk/CGI/man-cgi?sshd_config+5
rubiojr

Questo sembra rompere git pullperò: / etc / ssh / ssh_config: linea 68: opzione di configurazione Bad: PermitRootLogin
geoidesic

Anche PermitRootLogin non appare inman ssh_config
geoidesic il

Anche facilmente sostituibile conssh -o PreferredAuthentications=password
geoidesic

2

Modifica sshd_config(di solito in /etc/ssh) e aggiungi o modifica le seguenti direttive

  PermitRootLogin yes
  AllowUsers root@thehosttoallow

Quindi riavviare il demone

  service ssh restart

Credo che, se l'OP volesse utilizzare AllowUsers, avrebbe bisogno di specificare tutti gli utenti a cui desidera accedere. Il tuo esempio consentirebbe a root di autenticarsi solo tramite ssh.
EEAA,

1
Sì, questo è apposta. Per consentire a qualsiasi utente, *@thehosttoallowfai entrare qualsiasi utente.
Anello Ø

Inoltre facilmente sostituibile conssh -o PreferredAuthentications=password
geoidesic

0

Innanzitutto, perché dovresti impedire agli utenti di utilizzare l'autenticazione chiave? Non ha senso per me.

In secondo luogo, non consentire l'accesso root tramite ssh. Basta non farlo - non c'è una buona ragione per aver bisogno di farlo. Va contro ogni migliore pratica là fuori, e per una buona ragione. Se devi concedere le autorizzazioni per leggere / scrivere determinati file, dovresti essere in grado di farlo attraverso le autorizzazioni standard del filesystem linux. Se hai bisogno di un controllo degli accessi più accurato, cerca nel sistema ACL di Linux.


cosa succede se disabilito il login di root e nessuno degli utenti ha accesso ad alcuni file di configurazione principali. Quindi sono bloccato perché non riesco ad accedere tramite root

1
Quando si disabilita l'accesso root tramite ssh, root sarà comunque in grado di accedere tramite la console. Inoltre, hai sempre la possibilità di concedere a un utente normali autorizzazioni root-esque tramite sudo. Questo non funzionerà per sftp, ma come failback nel caso in cui sia necessario correggere le cose, funzionerebbe bene ed è il modo preferito di concedere le autorizzazioni.
SEE

1
@ErikA L'autorizzazione rootda un host univoco non è pericolosa. C'è stata una tendenza contro l' rootaccesso tramite telnetun paio di anni fa (besore sshera comune), ma che permette rootvia ssha solo un host non sembra così pericoloso.
Anello Ø

Certo, potrebbe essere forse "sicuro", ma continuerò a sostenere che è una cattiva idea. Lo dico principalmente per il fatto che, quando le persone avranno un modo semplice per ottenere l'accesso alla radice, lo useranno, piuttosto che usare un modo più sicuro e più appropriato per ottenere l'accesso (sudo).
EEAA

2
Considerando la domanda dell'autore, si può presumere che desideri eseguire attività amministrative attraverso l' rootutente. Consentire l' rootaccesso diretto da un solo host in questo caso è un'alternativa ragionevole.
Anello Ø
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.