SSH Login wird deaktiviert sobald der Webserver mit einem Benutzer gestartet wird

  • Hallo zusammen,


    es kann sein das es bei allen Linux-Systemen so ist aber in meinem Fall betrifft es ein openSUSE. Ich habe auf meinem System einen normalen Benutzer erstellt der sich "httpuser" nennt. Danach habe ich den Webserver so konfiguriert das der Prozess mit diesem Benutzer gestartet wird. Das funktioniert auch alles einwandfrei. Was ich aber festgestellt habe sobald ich den Webserver mit dem Benutzer httpuser starte dann kann ich mich nicht mehr per SSH mit diesem Benutzer auf dem System einloggen. Mit dem root Benutzer hingegen funktioniert es noch und ich kann dann auch einen su - httpuser machen.
    Mir scheint das so als würde da ein Sicherheitsmechanismus oder so etwas in der Art eingreifen und den SSH Zugang abschalten. Wenn ich die komplette Kiste neustarte dann funktioniert der SSH Zugriff wieder, aber nur so lange wie der Webserver nicht mit diesem Benutzer gestartet wurde. Ich habe schon alle möglichen Sicherheitsfeatures wie Firewall, AppArmor, SELinux abgeschaltet das brachte aber bisher nicht den Erfolg.


    Kann jemand helfen?

  • Deine Fehlerbeschreibung "Dann kann ich mich nicht mehr...einloggen" laesst viel Spielraum fuer Interpretationen. Z.b:


    - Nach Eingabe von username/password kommt "Password incorrect"
    - Nach Eingabe des Passwords kommt keine password Fehlermeldung aber die SSH verbindung terminiert direkt danach.
    - Es taucht ein Terrorist auf der Dich mit einer Waffengewahlt hindert.



    :D :D :D


    Wenn da auf dem System ein sshd laeuft, einfach mal ein strace -f -p <sshd-pid> machen und gucken was da passiert. Und ein "cd /var/log ; xtail * */*" oder so um zu gucken was da fuer Fehlermeldungen kommen (weiss man ja nie wo die kommen wenn da komische neue zusatzsysteme drin sind die in ihre eigenen unterdirectories loggen). Ansonsten auch immer gerne mal in die ersten Zeilen voom .login und .profile oder so was reintun um zu kontrollieren ob die ueberhaupt gestartet werden.


    Sorry, letztes OpenSuse das ich in den Fingern hatte war 7.3. Bin aber sicher, dass Du recht hast und da irgendwelche OpenSuse security magie passiert. Fragt sich, warum Du dagegen ankaempfen willst.

  • Hi,


    danke für den Hinweis :). Also das SSH Login erscheint ganz normal, auch funktioniert die Authentifizierung sprich ich geben Benutzer und Passwort ein und dann kommt die Meldung "Server refused to start a shell/command".


    Im /var/log/messages taucht folgendes auf:


  • Diese zeiele sieht eher wie Fehler aus:


    sshd[9603]: error: do_exec_pty: fork: Resource temporarily unavailable


    Stopp mal den hhtpd und probier ssh nochmal, und guck dann was Du da siehst im syslog.


    Wegen dem obigen fehler bin ich mir nicht so sicher, ob es da fuer den naechsten Fehler einen separaten Grund gibt oder nicht:


    sshd[9606]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.140.1 user=httpuser


    Evtl. hilft es halt die syslogs zu verleichen mit, wenns funktioniert.

  • Puh, mal tief in der UNIX-Kiste kramen. Spontan fällt mir ein: ulimit (evtl. spawned der Apache soviele Prozesse, dass das limit des Users aufgebraucht ist).
    Welche Shell hat der User denn?
    Funktioniert der Login denn wenn der Apache nicht läuft?
    Warum nimmst Du nicht den User wwwrun, den OpenSuse mitbringt?


    Viele Grüße,
    Roland

  • Einfach auch zweimal hintereinander den SSH login ausprobieren, und dann im syslog gucken wieviel weiter die PID des geforkten SSHD ist. Das gibt einen hinweis darauf ob evtl. da im Startup etwas busy prozesse forkt oder nicht. Eg: Wenn die differenz der PID zwischen den zwei aufrufen > 50 ist dann koennte sowas sein. Ansonsten, wenn die Differenz niedriger ist dann koennen es solche limiter sein die per user konifguriert werden.


    Auch mal: NFS server stoppen, gucken dass ssh geht. Dann mal alle dateien, insbesondere die . dateien aus dem homedirectory des benutzers wegbewegen. http server starten. gucken ob/was sich da im leeren homedirectory getan hat. ssh ausprobieren, gucken ob sich was im homeidrectoy geandert hat. Sieht zwar alles so aus als ob die probleme passiren bevor der SSH a in das homedirectory geht, aber man weiss ja nie.


    Und natuerlich schauen ob sich die loginshell des users geaendert hat wenn http laeuft (/etc/passwd).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!