SSH-Spezialkonfiguration

Backup, Restore und Transfer von Daten
Post Reply
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

SSH-Spezialkonfiguration

Post 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
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57
 

Re: SSH-Spezialkonfiguration

Post 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.
juergen
Posts: 133
Joined: 2004-03-30 14:44
Contact:
 

Re: SSH-Spezialkonfiguration

Post by juergen »

was willst du denn mit einem ssh-login von "localhost"? Ich glaube du willst eher "sudo" bzw. "su".
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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.
juergen
Posts: 133
Joined: 2004-03-30 14:44
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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?
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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?
juergen
Posts: 133
Joined: 2004-03-30 14:44
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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.
bjunix
Posts: 24
Joined: 2005-09-12 19:00
 

Re: SSH-Spezialkonfiguration

Post 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

croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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:

Code: Select all

AllowUsers root
DenyUsers !root
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.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: SSH-Spezialkonfiguration

Post by Joe User »

Code: Select all

[yast -i|apt-get install|emerge] expect
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57
 

Re: SSH-Spezialkonfiguration

Post by mattiass »

Joe User wrote:

Code: Select all

[yast -i|apt-get install|emerge] expect
Du hast "rug" vergessen!
8)
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: SSH-Spezialkonfiguration

Post by Joe User »

Dürfte daran liegen, dass ich bisher nur mit den drei aufgeführten und einem selbstgeschriebenen Paketmanagmentfrontends gearbeitet habe ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: SSH-Spezialkonfiguration

Post by Joe User »

expect-lib[s]?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
Contact:
 

Re: SSH-Spezialkonfiguration

Post 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:
Post Reply