Als Root über SSH anmelden, ohne das Passwort zu kennen (sudo -s)?

Als Root über SSH anmelden, ohne das Passwort zu kennen (sudo -s)?

Ich stelle per SSH eine Verbindung zu einem Server her mit:

ssh user@host

und dann wechsle ich zum Root-Benutzer mit:

sudo -s

Ich gebe mein eigenes Passwort ein, NICHT das Passwort des Root-Benutzers – so wie ich es verstehe, funktioniert dies, weil ich mich in der Sudoers-Datei befinde.

Gibt es eine Möglichkeit, mich per SSH anzumelden und in einem Schritt zum Root-Benutzer zu wechseln, auch wenn ich das Root-Benutzerkennwort nicht habe?

Der Punkt ist, dass ich vermeiden möchte, mein Passwort zweimal einzugeben

Antwort1

Sie haben zwei einfache Möglichkeiten, dies zu erreichen:

  1. Sie erlauben dieWurzelBenutzer, um sich über SSH anzumelden, können Sie dies tun, indem Sie die /etc/ssh/sshd_configDatei bearbeiten und die Einstellung PermitRootLoginaufWAHR, dadurch kann Root eine Verbindung über SSH herstellen.
  2. Sie erstellen ein benutzerdefiniertes Skript, damit sich Ihr SSH-Benutzer automatisch als Root anmeldet. Dies kann über die /etc/passwdDatei erfolgen. Sie werden feststellen, dass Ihr Benutzer ungefähr so ​​aussieht:

your_user:x:1001:1001:Oqhax,,,:/home/your_user:/bin/bash

Um beim Anmelden ein benutzerdefiniertes Skript auszuführen, ändern Sie den /bin/bashTeil und fügen Ihr eigenes Skript hinzu, das den gewünschten Code ausführt. Dies kann etwas wie „sudo -s“ enthalten. Am Ende Ihres benutzerdefinierten Skripts können Sie, /bin/bashglaube ich, auch „erneut aufrufen“, sodass es passwdungefähr so ​​aussehen würde:

your_user:x:1001:1001:Oqhax,,,:/home/your_user:/bin/your_script

Bedenken Sie, dass die zweite Option Ihr SSH-Anmeldeverhalten beeinflusst. Stellen Sie daher beim Testen sicher, dass Sie damit umgehen können, wenn Ihnen ein Fehler unterläuft und Sie sich tatsächlich nicht mit Ihrem Benutzer anmelden können. Stellen Sie also sicher, dass Sie zumindest vorübergehend über einen Backdoor-SSH-Zugriff über einen anderen Benutzer oder Root verfügen, wie in Option 1 erwähnt, damit Sie sich erneut anmelden und etwaige Fehler korrigieren können, bis das Setup funktioniert.

Aktualisieren:In Anbetracht der Kommentare weiter unten ist es erwähnenswert, dass dies nicht nur die SSH-Anmeldung betrifft, sondern alle Anmeldungen dieses Benutzers (ich bin davon ausgegangen, dass Sie diesen Benutzer immer als Root anmelden müssen und dem tatsächlichen Root-Benutzer nicht erlauben möchten, sich über SSH anzumelden). Es ist auch erwähnenswert, dass dies eine einfachere Lösung ist als eine möglicherweise viel strengere und komplexere Lösung, die nur für SSH gelten würde. Ihre Frage geht nicht sehr ins Detail.

Wie in den Kommentaren erwähnt, können Sie dasselbe Verhalten auch erreichen, indem Sie: /etc/ssh/sshrcIch bearbeite einfach lieber die Rohdatei /etc/passwd, sodass in Zukunft ganz klar ist, was passiert, und Sie sich auf die Konsequenzen einstellen müssen. Das sshrcist zwar großartig, erschwert aber die zukünftige Fehlerbehebung ein wenig, wenn Sie vergessen, wie Sie das System eingerichtet haben, was, seien wir ehrlich, häufig vorkommt. Aber es ist in der Tat eine gute Angewohnheit, den Root-Benutzer überhaupt nicht preiszugeben, denn das gibt Ihnen in Zukunft viel mehr Flexibilität und die Möglichkeit, Dinge auszuprobieren und Ihre Sudoer-Berechtigungen anzupassen.

Hoffe das hilft

verwandte Informationen