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:
- Sie erlauben dieWurzelBenutzer, um sich über SSH anzumelden, können Sie dies tun, indem Sie die
/etc/ssh/sshd_config
Datei bearbeiten und die EinstellungPermitRootLogin
aufWAHR, dadurch kann Root eine Verbindung über SSH herstellen. - Sie erstellen ein benutzerdefiniertes Skript, damit sich Ihr SSH-Benutzer automatisch als Root anmeldet. Dies kann über die
/etc/passwd
Datei 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/bash
Teil 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/bash
glaube ich, auch „erneut aufrufen“, sodass es passwd
ungefä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/sshrc
Ich 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 sshrc
ist 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