Ich weiß, dass das sudo-Passwort meinen Computer davor schützt, lokal von jemandem gehackt zu werden, der physischen Zugriff darauf hat (Bearbeiten: Tatsächlich ist dies nicht der Fall). Mein Passwort ist für diesen Zweck stark genug, aber ich weiß, dass es nicht stark genug ist, wenn jemand es aus der Ferne erzwingen kann. Kann jemand im Root-Modus mit meinem Sudo-Passwort auf meinen Computer zugreifen, ohne physischen Zugriff auf den Computer bei einer Ubuntu-Desktop-Standardinstallation?
Das sudo-Passwort dient nicht nur dem lokalen Schutz, sondern soll der Verwendung von Root-Rechten eine zusätzliche Sicherheitsebene hinzufügen. Eine gute Diskussion finden Sie hier https://superuser.com/a/771523/467316
Ihr Passwort ist möglicherweise nicht so sicher wie Sie denken. Im Moment knacke ich 20-40% der Active Directory-Hashes meines Kunden für diejenigen, die ich zuvor gesehen habe, und diejenigen, die schlechte Passwortregeln haben, werden zu 70% geknackt. Ich empfehle 16 Zeichen, komplexe Passwörter. oclHashcat- und Radeon-Grafikkarten können großen Schaden anrichten. Fügen Sie bei jedem Verstoß in den letzten 5 Jahren alle Kennwortspeicherauszüge hinzu, und Sie erhalten in der Regel ein gutes Wörterbuch, aus dem Sie arbeiten können.
Wenn Sie überhaupt SSH verwenden, nehmen Sie einige Anpassungen in der sshd_config vor
sudo nano /etc/ssh/sshd_config
Die MUSTS direkt aus dem Tor (der letzte, der den FTP-Server deaktiviert, wenn Sie ihn nicht verwenden).
Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server
Speichern Sie es, starten Sie ssh neu
sudo service ssh restart
Verwenden der Verschlüsselung mit öffentlichen Schlüsseln Erstellen Sie zunächst auf Ihrem Remote-Computer einen Schlüssel (mit puttygen oder einem anderen Betriebssystem). Kopieren Sie den öffentlichen Schlüssel auf Ihren Ubuntu-Rechner unter dem Benutzer, den Sie als authorized_keys-Datei anmelden möchten (wahrscheinlich müssen Sie ihn erstellen).
sudo nano /home/yourdumbusername/.ssh/authorized_keys
Kopieren Sie den öffentlichen Schlüssel in diesem Format
ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes
Speichern Sie es und richten Sie Ihre sshd_config ein, um die Anmeldung mit öffentlichen Schlüsseln zu ermöglichen
sudo nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
speichere und starte ssh neu
sudo service ssh restart
Versuchen Sie SSHing von Ihrem privaten, verschlüsselten Computer mit öffentlicher Schlüsselverschlüsselung zu Ihrem Ubuntu-Host. Wenn alles geklappt hat, kehren Sie zum Ubuntu-Host zurück und deaktivieren Sie die Kennwortauthentifizierung.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
Speichere und starte ssh neu
sudo service ssh restart
Versuchen Sie erneut, von einem Computer mit privatem Schlüssel zu sshing, um dies zu bestätigen.
Möchten Sie weitere hinzufügen? Richten Sie ein nicht privilegiertes Konto ein, aktivieren Sie PermitRootLogin no, starten Sie ssh neu, fügen Sie Ihren öffentlichen Schlüssel zu den authorized_keys des neuen Kontos hinzu, melden Sie sich als nicht privilegiertes Konto an, oder wechseln Sie zu Ihrem Root- oder privilegierten Konto, wenn Sie sich als Root anmelden oder sich durch die Dinge bewegen müssen.