Page 1 of 1
SSH-Spezialkonfiguration
Posted: 2006-10-29 19:57
by croc
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
Re: SSH-Spezialkonfiguration
Posted: 2006-10-29 20:08
by mattiass
cRoC wrote:
Nun steh ich vor folgendem Problem:
NUR root soll sich NUR vom localhost auch mit pw beim sshd einloggen dürfen.
Zweiter Daemon mit geringfügig anderer Config auf einem anderen Port, der nur auf localhost lauscht.
Re: SSH-Spezialkonfiguration
Posted: 2006-10-29 20:51
by juergen
was willst du denn mit einem ssh-login von "localhost"? Ich glaube du willst eher "sudo" bzw. "su".
Re: SSH-Spezialkonfiguration
Posted: 2006-10-30 15:33
by croc
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?
juergen wrote:was willst du denn mit einem ssh-login von "localhost"? Ich glaube du willst eher "sudo" bzw. "su".
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.
Außerdem will ich das script später auch für remote-zugriffe erweitern.
Re: SSH-Spezialkonfiguration
Posted: 2006-10-30 22:34
by juergen
ich brauch ein terminal, worauf PHP zugreifen
Du brauchst nur ein pty, das kann screen oder besser zum automatisieren: expect.
kann und danach soll ein screen gestartet werden, der aber nicht funktioniert, wenn ich vorher den benutzer wechsle.
Warum soll das nicht funktionieren, wenn der neue User Schreib/Leserechte auf das (Pseudo)Terminal hat?
Re: SSH-Spezialkonfiguration
Posted: 2006-10-31 13:22
by croc
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?
Re: SSH-Spezialkonfiguration
Posted: 2006-10-31 19:03
by juergen
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
Posted: 2006-11-01 01:46
by bjunix
cRoC wrote:
Wie kann ich also nur lokalen Zugriff erlauben?
Ein Blick in die manpages sollte helfen: man sshd_config
Code: Select all
AllowUsers root@localhost
ListenAddress 127.0.0.1
Re: SSH-Spezialkonfiguration
Posted: 2006-11-01 12:48
by croc
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 ist dieses "expect" denn?
Was kann ich damit anfangen?
Wo find ich das zum runterladen und installieren?
bjunix wrote:Ein Blick in die manpages sollte helfen: man sshd_config
Code: Select all
AllowUsers root@localhost
ListenAddress 127.0.0.1
Also das mit AllowUsers funktioniert nur ohne das @localhost dahinter. Hab da jetzt folgendes in der config:
Ist auch egal, denn durch
ListenAddress 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
Posted: 2006-11-01 16:50
by Joe User
Code: Select all
[yast -i|apt-get install|emerge] expect
Re: SSH-Spezialkonfiguration
Posted: 2006-11-01 16:58
by mattiass
Joe User wrote:Code: Select all
[yast -i|apt-get install|emerge] expect
Du hast "rug" vergessen!
8)
Re: SSH-Spezialkonfiguration
Posted: 2006-11-01 17:10
by Joe User
Dürfte daran liegen, dass ich bisher nur mit den drei aufgeführten und einem selbstgeschriebenen Paketmanagmentfrontends gearbeitet habe ;)
Re: SSH-Spezialkonfiguration
Posted: 2006-11-06 20:01
by croc
Nochmal zum Thema expect zurück.
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 install
Nun kommt während des ./configure folgender Fehler:
Code: 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.0
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?
Re: SSH-Spezialkonfiguration
Posted: 2006-11-06 20:33
by Joe User
expect-lib[s]?
Re: SSH-Spezialkonfiguration
Posted: 2006-11-07 17:43
by croc
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: