SSH-Spezialkonfiguration
SSH-Spezialkonfiguration
Hallo,
folgende Tatsachen meines ssh-daemons:
sshd ist per publickey-login-verfahren abgesichert.
root darf sich auch darüber einloggen, bisher von jedem host.
Passwortlogin ist generell verboten.
Nun steh ich vor folgendem Problem:
NUR root soll sich NUR vom localhost auch mit pw beim sshd einloggen dürfen.
alle anderen nutzer müssen weiterhin publickeys benutzen (egal von welche[r/m] IP/Host).
Wie kann ich das bewerkstelligen?
Bin für jede Hilfe dankbar.
mfg
cRoC
folgende Tatsachen meines ssh-daemons:
sshd ist per publickey-login-verfahren abgesichert.
root darf sich auch darüber einloggen, bisher von jedem host.
Passwortlogin ist generell verboten.
Nun steh ich vor folgendem Problem:
NUR root soll sich NUR vom localhost auch mit pw beim sshd einloggen dürfen.
alle anderen nutzer müssen weiterhin publickeys benutzen (egal von welche[r/m] IP/Host).
Wie kann ich das bewerkstelligen?
Bin für jede Hilfe dankbar.
mfg
cRoC
Re: SSH-Spezialkonfiguration
Zweiter Daemon mit geringfügig anderer Config auf einem anderen Port, der nur auf localhost lauscht.cRoC wrote:
Nun steh ich vor folgendem Problem:
NUR root soll sich NUR vom localhost auch mit pw beim sshd einloggen dürfen.
Re: SSH-Spezialkonfiguration
was willst du denn mit einem ssh-login von "localhost"? Ich glaube du willst eher "sudo" bzw. "su".
Re: SSH-Spezialkonfiguration
Die Idee mit dem 2. Daemon ist gut, werd ich wohl so machen müssen.
Danke für den Hinweis.
[EDIT:] Der 2. Daemon läuft jetzt soweit auf nem anderen Port und es darf nur root drauf zugreifen.
In den manpages hab ich nichts gefunden um externen Zugriff zu unterbinden.
Wie kann ich also nur lokalen Zugriff erlauben?
Außerdem will ich das script später auch für remote-zugriffe erweitern.
Danke für den Hinweis.
[EDIT:] Der 2. Daemon läuft jetzt soweit auf nem anderen Port und es darf nur root drauf zugreifen.
In den manpages hab ich nichts gefunden um externen Zugriff zu unterbinden.
Wie kann ich also nur lokalen Zugriff erlauben?
ich brauch ein terminal, worauf PHP zugreifen kann und danach soll ein screen gestartet werden, der aber nicht funktioniert, wenn ich vorher den benutzer wechsle.juergen wrote:was willst du denn mit einem ssh-login von "localhost"? Ich glaube du willst eher "sudo" bzw. "su".
Außerdem will ich das script später auch für remote-zugriffe erweitern.
Re: SSH-Spezialkonfiguration
Du brauchst nur ein pty, das kann screen oder besser zum automatisieren: expect.ich brauch ein terminal, worauf PHP zugreifen
Warum soll das nicht funktionieren, wenn der neue User Schreib/Leserechte auf das (Pseudo)Terminal hat?kann und danach soll ein screen gestartet werden, der aber nicht funktioniert, wenn ich vorher den benutzer wechsle.
Re: SSH-Spezialkonfiguration
Hm klar kann screen das machen.
Aber ich bekomm von PHP dann die Fehlermeldung mitgeteilt:
"Cannot open your terminal - please check!"
oder sowas in der Art.
Soll warscheinlich heißen, dass der Benutzer nicht die Rechte für den Terminalzugriff hat.
Das Problem ist ja, dass ich nicht weiß, welches Terminal PHP bzw. screen dann benutzen will und somit müsste ich alle Terminals freigeben, was ein Sicherheitsrisiko wäre, oder?
Aber ich bekomm von PHP dann die Fehlermeldung mitgeteilt:
"Cannot open your terminal - please check!"
oder sowas in der Art.
Soll warscheinlich heißen, dass der Benutzer nicht die Rechte für den Terminalzugriff hat.
Das Problem ist ja, dass ich nicht weiß, welches Terminal PHP bzw. screen dann benutzen will und somit müsste ich alle Terminals freigeben, was ein Sicherheitsrisiko wäre, oder?
Re: SSH-Spezialkonfiguration
Klar, Apache läuft als Daemon und hat kein controlling terminal. Was für einen Sinn hat es, screen ohne Terminal aufzurufen? Ich denke was du willst ist expect.
Re: SSH-Spezialkonfiguration
Ein Blick in die manpages sollte helfen: man sshd_configcRoC wrote: Wie kann ich also nur lokalen Zugriff erlauben?
Code: Select all
AllowUsers root@localhost
ListenAddress 127.0.0.1
Re: SSH-Spezialkonfiguration
juergen wrote:... Ich denke was du willst ist expect.
Code: Select all
bash# expect
-bash: expect: command not found
bash# find / -name expect
bash#Was kann ich damit anfangen?
Wo find ich das zum runterladen und installieren?
Also das mit AllowUsers funktioniert nur ohne das @localhost dahinter. Hab da jetzt folgendes in der config:bjunix wrote:Ein Blick in die manpages sollte helfen: man sshd_configCode: Select all
AllowUsers root@localhost ListenAddress 127.0.0.1
Code: Select all
AllowUsers root
DenyUsers !rootListenAddress 127.0.0.1
komm ich von zuhause aus nichtmehr auf den 2. sshd und somit auch von jeder externen IP nichtmehr.
Danke für den Hinweis.
Re: SSH-Spezialkonfiguration
Code: Select all
[yast -i|apt-get install|emerge] expectPayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: SSH-Spezialkonfiguration
Du hast "rug" vergessen!Joe User wrote:Code: Select all
[yast -i|apt-get install|emerge] expect
8)
Re: SSH-Spezialkonfiguration
Dürfte daran liegen, dass ich bisher nur mit den drei aufgeführten und einem selbstgeschriebenen Paketmanagmentfrontends gearbeitet habe ;)
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: SSH-Spezialkonfiguration
Nochmal zum Thema expect zurück.
Ich wollte gerade die PECL-Extension expect für PHP kompilieren nach folgendem Schema wie üblich:
Nun kommt während des ./configure folgender Fehler:
Google bringt mir keine nützlichen links zu einem download von libexpect.
Von packages.debian.org hab ich mir schon expect und expect-dev runtergeladen und mit dpkg installiert.
Version: 5.43.0-8_i386 unstable
Wo bekomm ich dieses geforderte Paket libexpect her?
Ich wollte gerade die PECL-Extension expect für PHP kompilieren nach folgendem Schema wie üblich:
Code: Select all
cd [...]/sources/php/pecl/expect/expect-0.2.2/
phpize
./configure
make
make installCode: Select all
[...]
checking for PHP installed headers prefix... /usr/local/include/php
checking for re2c... re2c
checking for re2c version... invalid
configure: WARNING: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for expect support... yes, shared
configure: error: expect extension requires libexpect version >= 5.43.0Von packages.debian.org hab ich mir schon expect und expect-dev runtergeladen und mit dpkg installiert.
Version: 5.43.0-8_i386 unstable
Wo bekomm ich dieses geforderte Paket libexpect her?
Re: SSH-Spezialkonfiguration
expect-lib[s]?
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: SSH-Spezialkonfiguration
hab eben google auch noch mal unter diesen begriffen strapaziert, aber nichts gefunden.
Hat jemand noch ne Idee/Lösungsvorschlag?
Edit: Mein eigentliches Anfangsproblem hab ich jetzt auch ohne dieses expect lösen können, aber mich würds trotzdem mal interessieren, wie ich expect in PHP reinbekomme.
Vielleicht braucht man es ja später mal. :lol:
Hat jemand noch ne Idee/Lösungsvorschlag?
Edit: Mein eigentliches Anfangsproblem hab ich jetzt auch ohne dieses expect lösen können, aber mich würds trotzdem mal interessieren, wie ich expect in PHP reinbekomme.
Vielleicht braucht man es ja später mal. :lol:

