Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

shellinabox, google-authenticator, pam und screen

78 views
Skip to first unread message

Alexander Reichle-Schmehl

unread,
Jun 2, 2019, 9:40:02 AM6/2/19
to
Hi!

Ich habe gerade ein recht obskures Problem... Vermutlich fehlt mir ein
Broeckchen pam und es ist geloest.

Hintergrund: Ich muss ohne ssh Zugriff auf einem bestimmten Rechner eine
shell oeffnen koennen. Die einfachste Loesung hierzu ist wohl
shellinabox. Das funktioniert an sich auch gut.

Um das ganze etwas besser abzusichern, habe ich wie ihn
https://github.com/shellinabox/shellinabox/issues/187 beschrieben,
google-authenticator als pam Modul eingebunden. google-authenticator
selbst funktioniert auch (und sicher bei dem Rechner Beispielsweise auch
regulaeren ssh login und sudo).

Ich habe also eine /etc/pam.d/shellinabox erstellt, die folgendes
enthaelt:
@include sshd

auth required pam_google_authenticator.so
auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/shellinaboxusers


Und wie empfohlen das Init-Script ergaenzt:
* line 42 added SHELLINABOX_SERVICE="${SHELLINABOX_SERVICE:-/:AUTH:HOME:/bin/bash}"
* line 55 added -s "'${SHELLINABOX_SERVICE}'"


Das funktioniert im Prinzip: Beim einloggen via shellinabox wird man
auch nach dem verification code gefragt.

Aber versuche ich nach dem einloggen screen aufzurufen (egal ob neu,
oder reconnect auf eine existierende session) erhalte ich folgene
Meldung:

Cannot open your terminal '/dev/pts/7' - please check.


Und in der Tat:
$ ll /dev/pts/7
crw--w---- 1 shellinabox tty 136, 7 Jun 2 15:09 /dev/pts/7


Mache ich alle meine Aenderungen Rueckgaengig gehoert das Device nach
dem einlogen meinem user. Aendere ich den Besitzer manuell, funktioniert
screen auch wie erwartet. Recherche im Netz bringt lediglich den Tipp,
'script /dev/null' aufzurufen, bevor man screen aufruf. Oder diverse
Tipps, wie man teamspeak und aehnliches 'richtig' aufrufen wuerde.


Eventuell fehlt mir in meiner shellinabox Pam einfach nur eine 'setze
die Rechte richtig' Zeile... aber irgendwie habe ich gerade Tomaten auf
den Augen.

Jemand einen guten Tipp fuer mich?


Mit besten Gruessen,
Alexander

Alexander Reichle-Schmehl

unread,
Jun 7, 2019, 5:20:02 AM6/7/19
to
Hi!

* Alexander Reichle-Schmehl <alex...@alphamar.org> [190602 15:13]:
[..]
> Hintergrund: Ich muss ohne ssh Zugriff auf einem bestimmten Rechner eine
> shell oeffnen koennen. Die einfachste Loesung hierzu ist wohl
> shellinabox. Das funktioniert an sich auch gut.
>
> Um das ganze etwas besser abzusichern, habe ich wie ihn
> https://github.com/shellinabox/shellinabox/issues/187 beschrieben,
> google-authenticator als pam Modul eingebunden. google-authenticator
> selbst funktioniert auch (und sicher bei dem Rechner Beispielsweise auch
> regulaeren ssh login und sudo).
[..]
> Aber versuche ich nach dem einloggen screen aufzurufen (egal ob neu,
> oder reconnect auf eine existierende session) erhalte ich folgene
> Meldung:
>
> Cannot open your terminal '/dev/pts/7' - please check.


Ich habe zwar nicht herausgefunden, wie ich das Zugriffsproblem geloest
bekomme, aber eine akzeptablen Workarround gefunden:

shellinabox einfach via ssh login laufen lassen.


Dazu einfach in /etc/default/shellinabox in der Zeile SHELLINABOX_ARGS
den Paramter '--service=/:SSH:localhost' ergaenzen. Dadurch baut
shellinabox eine ssh Verbindung mit localhost auf, und benutzt die
entsprechenden zur Authentifizierung pam nicht selbst, sondern
ueberlaesst dies ssh. Und ssh habe ich ohnehin mit 2fa versehen,
insofern passt das.

Bislang keine Einschraenkungen gefunden.


Mit besten Gruessen,
Alexander
0 new messages