SCPOnly unter Etch zum vergessen
SCPOnly unter Etch zum vergessen
Hallo,
heute Etch aufgesetzt, Scponly per "aptitude install scponly" installiert.
Wie immer das setup_chroot script ausgeführt und damit einen User angelegt.
leider brich tdie Verbindung beim Anmeldeversuch (mit WinSCP 3.8.2) ab:
"Connection has been unexpectedly closed. Server sent command exit status 1."
Hätte da eine Lösung im Web gefunden, nur die funkt nicht:
http://steffenzieger.de/index.php/2006/ ... t-scponly/
mkdir /your/chroot/dir/dev
mknod -m 666 /your/chroot/dir/dev/null c 1 3
obiger befehl wird zwar ausgeführt, aber fehler bleibt bestehen.
Weiss wer weiter?
Gruß
reedbeat
heute Etch aufgesetzt, Scponly per "aptitude install scponly" installiert.
Wie immer das setup_chroot script ausgeführt und damit einen User angelegt.
leider brich tdie Verbindung beim Anmeldeversuch (mit WinSCP 3.8.2) ab:
"Connection has been unexpectedly closed. Server sent command exit status 1."
Hätte da eine Lösung im Web gefunden, nur die funkt nicht:
http://steffenzieger.de/index.php/2006/ ... t-scponly/
mkdir /your/chroot/dir/dev
mknod -m 666 /your/chroot/dir/dev/null c 1 3
obiger befehl wird zwar ausgeführt, aber fehler bleibt bestehen.
Weiss wer weiter?
Gruß
reedbeat
Hallo,
einfach das Device "/dev/null" für deinen Benutzer anlegen, das braucht man für WinSCP.
Steht übrigens inklusive Lösung auch in den Bugreports auf der Debian Seite beim Paket SCPONLY.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394132
Edit: Code editiert, da ich das dev Verzeichnis vergessen habe.
einfach das Device "/dev/null" für deinen Benutzer anlegen, das braucht man für WinSCP.
Code: Alles auswählen
cd /pfad/zu/deinem/chroot/
mkdir dev
cd dev
mknod -m 666 null c 1 3
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394132
Edit: Code editiert, da ich das dev Verzeichnis vergessen habe.
Zuletzt geändert von Kase am 27.04.2007 18:38:08, insgesamt 1-mal geändert.
Sorry, mein Code war nicht 100% richtig.
Es muss natürlich so heißen:
Es muss natürlich so heißen:
Code: Alles auswählen
cd /pfad/zu/deinem/chroot/
mkdir dev
cd dev
mknod -m 666 null c 1 3
Hallo Kase,
danke für den Link auf die Bugreportseite, das wird mir in Zukunft hilfreich sein.
Mit Deinem Vorschlag funktionierts aber leider noch immer nicht. Der Lösungsweg im Bugreport schaut außerdem etwas anders aus (cp statt mknod) . Das seltsame ist auch, dass das Verzeichniss dev unter Sarge nicht vorhanden ist. Habe hier einige Sarge-Installationen wo das Verzeichniss im Home des Users nicht vorkommt. Trotzem funktioniert der Login per WinSCP.
Hast Du Scponly unter Etch am Laufen? Funktioniert bei Dir der Login per WinSCP?
Hier die Version welche bei mir in Verwendung ist:
Gruß
Reedbeat
danke für den Link auf die Bugreportseite, das wird mir in Zukunft hilfreich sein.
Mit Deinem Vorschlag funktionierts aber leider noch immer nicht. Der Lösungsweg im Bugreport schaut außerdem etwas anders aus (cp statt mknod) . Das seltsame ist auch, dass das Verzeichniss dev unter Sarge nicht vorhanden ist. Habe hier einige Sarge-Installationen wo das Verzeichniss im Home des Users nicht vorkommt. Trotzem funktioniert der Login per WinSCP.
Hast Du Scponly unter Etch am Laufen? Funktioniert bei Dir der Login per WinSCP?
Hier die Version welche bei mir in Verwendung ist:
Code: Alles auswählen
lamp:~# dpkg -l | grep scponly
ii scponly 4.6-1
Reedbeat
Hallo,
ja, ich habe die gleiche Version laufen, das ist die standard Vesion von Debian Etch.
Das Verzeichnis dev ist nicht vorhanden, das musst du im / deines chroots inkl dem Device null anlegen. Ob man das Device durch Kopieren (wie in den bugreports) oder durch neu erstellen anlegt, ist ziemlich egal. Bei mir lief es auf jeden Fall ohne Probleme mit WinSCP zusammen, nachdem ich das Device null im dev Verzeiichnis angelegt hatte. Ansonsten prüfe nochmal, ob du die Datei "groups" kopiert hast, wie es im setup_chroot beschrieben ist, denn auch dies ist nötig für WinScp.
ja, ich habe die gleiche Version laufen, das ist die standard Vesion von Debian Etch.
Das Verzeichnis dev ist nicht vorhanden, das musst du im / deines chroots inkl dem Device null anlegen. Ob man das Device durch Kopieren (wie in den bugreports) oder durch neu erstellen anlegt, ist ziemlich egal. Bei mir lief es auf jeden Fall ohne Probleme mit WinSCP zusammen, nachdem ich das Device null im dev Verzeiichnis angelegt hatte. Ansonsten prüfe nochmal, ob du die Datei "groups" kopiert hast, wie es im setup_chroot beschrieben ist, denn auch dies ist nötig für WinScp.
Hallo Kase,
vielen Dank für Deine Antwort.
Ich hab jetz mal die groups Datei erstellt (obwohl das unter Sarge nicht notwendig war) und die Datei in das /bin Verzeichnis des Chroot-Users kopiert:
Gleicher Fehler: "Connection has been unexpectedly closed. Server sent command exit status 1."
Ich werd jetz mal Etch auf einem anderen Rechner neu aufsetzen. Da ich nun weiss dass es bei Dir funktioniert, muss es ja irgendwie gehen! Ich verwende übrigens die Netinst-CD.
Danke für die Infos!
LG
Reedbeat
vielen Dank für Deine Antwort.
Ich hab jetz mal die groups Datei erstellt (obwohl das unter Sarge nicht notwendig war) und die Datei in das /bin Verzeichnis des Chroot-Users kopiert:
Code: Alles auswählen
gcc -o groups groups.c
cp groups /home/username/bin/
Ich werd jetz mal Etch auf einem anderen Rechner neu aufsetzen. Da ich nun weiss dass es bei Dir funktioniert, muss es ja irgendwie gehen! Ich verwende übrigens die Netinst-CD.
Danke für die Infos!
LG
Reedbeat
Hab jetzt Etch per Netinst-CD auf einem anderen Rechner aufgesetzt.
Im Installer hab ich "Standard-System" gewählt und einen offiziellen Mirror aus der Liste ausgewählt.
System aktualisiert:
SCPOnly installiert:
Bugs beseitigt:
WinSCP liefert:
Also gleicher Fehler wie bisher.
Wäre schön wenn sich zu diesem Beitrag mehr Leute melden würden. Mich würde interessieren ob der Fehler wirklich nur bei mir auftritt.
Gruß
Reedbeat
Im Installer hab ich "Standard-System" gewählt und einen offiziellen Mirror aus der Liste ausgewählt.
System aktualisiert:
Code: Alles auswählen
aptitude update upgrade
Code: Alles auswählen
aptitude install scponly
cd /usr/share/doc/scponly/setup_chroot/
gunzip setup.chroot.sh.gz
chmod u+rwx setup.chroot.sh
./setup.chroot.sh (alles ausser die Frage zu Username mit ENTER bestätigt)
Code: Alles auswählen
cd /pfad/zu/deinem/chroot/
mkdir dev
cd dev
mknod -m 666 null c 1 3
Code: Alles auswählen
cd /usr/share/doc/scponly/
gcc -o groups groups.c
cp groups /home/username/bin/
Code: Alles auswählen
"Connection has been unexpectedly closed. Server sent command exit status 1."
Wäre schön wenn sich zu diesem Beitrag mehr Leute melden würden. Mich würde interessieren ob der Fehler wirklich nur bei mir auftritt.
Gruß
Reedbeat
Hallo,
gehe mal wie folgt vor: (Verzeichnis kann natürlich abweichen)
Chroot anlegen in /var/www/vhosts/$USER mit INCOMING-Folder "web"
Danach läuft es bei mir ohne Probleme mit der neusten WinSCP Version, glaube, das ist 3.8.2 oder so ähnlich.
gehe mal wie folgt vor: (Verzeichnis kann natürlich abweichen)
Chroot anlegen in /var/www/vhosts/$USER mit INCOMING-Folder "web"
Code: Alles auswählen
/usr/share/doc/scponly/setup_chroot/setup_chroot.sh
cd /var/www/vhosts/$USER/
mkdir dev
cd dev
mknod -m 666 null c 1 3
cd ..
cd bin
cp /usr/bin/groups .
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Hallo,
@reedbeat: Nur bei Dir tritt das sicherlich nicht auf, mit mir hast Du einen Leidensgenossen.
Das Anlegen von /dev/null löst auch bei mir das Problem nicht.
Erstaunlich ist, daß es nur bei ETCH nicht funktioniert, ich hatte bei den Webservern mit SARGE keine Probleme und habe die identische Konfiguration im lokalen Netzwerk mit SID, auch da keine Probleme (und ohne /dev/null).
Wenn ich das WinSCP-Log ansehe, so stellt sich raus, dass die Anmeldung und Authentifizierung einwandfrei klappt, abgebrochen wird dann:
Sollte eigentlich nur an einer Kleinigkeit liegen, habe schon einige Zeit investiert aber bislang leider auch erfolglos
vg, L.W.
@reedbeat: Nur bei Dir tritt das sicherlich nicht auf, mit mir hast Du einen Leidensgenossen.
Das Anlegen von /dev/null löst auch bei mir das Problem nicht.
Erstaunlich ist, daß es nur bei ETCH nicht funktioniert, ich hatte bei den Webservern mit SARGE keine Probleme und habe die identische Konfiguration im lokalen Netzwerk mit SID, auch da keine Probleme (und ohne /dev/null).
Wenn ich das WinSCP-Log ansehe, so stellt sich raus, dass die Anmeldung und Authentifizierung einwandfrei klappt, abgebrochen wird dann:
Code: Alles auswählen
Using SCP protocol.
. 2007-05-05 14:13:51.318 Doing startup conversation with host.
. 2007-05-05 14:13:51.318 Skipping host startup message (if any).
. 2007-05-05 14:13:51.318 Sent 36 bytes
. 2007-05-05 14:13:51.318 There are 0 bytes remaining in the send buffer
. 2007-05-05 14:13:51.318 Sent 1 bytes
. 2007-05-05 14:13:51.318 There are 0 bytes remaining in the send buffer
2007-05-05 14:13:51.318 echo "WinSCP: this is end-of-file:0"
. 2007-05-05 14:13:51.318 Waiting for another 1 bytes
. 2007-05-05 14:13:51.318 Looking for incoming data
. 2007-05-05 14:13:51.648 Select result is 1
. 2007-05-05 14:13:51.648 All channels closed. Disconnecting
. 2007-05-05 14:13:51.648 Server closed network connection
. 2007-05-05 14:13:51.648 Waiting for another 1 bytes
. 2007-05-05 14:13:51.648 Looking for incoming data
* 2007-05-05 14:13:51.688 (ESshFatal) Fehler beim Überspringen der Startnachricht. Ihre Kommandozeile (Shell) ist möglicherweise nicht mit dieser Anwendung kompatibel (BASH wird empfohlen).
* 2007-05-05 14:13:51.688 Die Verbindung wurde unerwartet geschlossen. Der Server sendete den Befehlsbeendigungsstatus 1.
vg, L.W.
at ~ now.
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
@mcheizer: Danke für den Tipp. So kommt man zwar rein, kann aber in alle Verzeichnisse wechseln.
Ich arbeite mit scponlyc, es muss also ein chroot auf das entsprechende Verzeichnis erfolgen.
Wie ich gerade feststelle, liegt da auch der Fehler begraben, denn der in scponlyc offenbar implizit ausgeführte chroot klappt nicht, es wird keine Shell gefunden, Abbruch mit "/bin/bash: Datei/Verzeichnis nicht gefunden".
Das ist Unsinn, denn:
- in /etc/passwd ist scponly als Shell vereinbart
- in /etc/shells ist scponly als zulässige Shell eingetragen
- /bin/bash ist testhalber zusätzlich im chroot-Verzeichnis bereitgestellt worden, trotzdem kommt dieser Fehler.
Und wie gesagt, in SID funktioniert es.
Ich arbeite mit scponlyc, es muss also ein chroot auf das entsprechende Verzeichnis erfolgen.
Wie ich gerade feststelle, liegt da auch der Fehler begraben, denn der in scponlyc offenbar implizit ausgeführte chroot klappt nicht, es wird keine Shell gefunden, Abbruch mit "/bin/bash: Datei/Verzeichnis nicht gefunden".
Das ist Unsinn, denn:
- in /etc/passwd ist scponly als Shell vereinbart
- in /etc/shells ist scponly als zulässige Shell eingetragen
- /bin/bash ist testhalber zusätzlich im chroot-Verzeichnis bereitgestellt worden, trotzdem kommt dieser Fehler.
Und wie gesagt, in SID funktioniert es.
at ~ now.
Code: Alles auswählen
@mcheizer: Danke für den Tipp. So kommt man zwar rein, kann aber in alle Verzeichnisse wechseln. traurig
Grüße
mcheizer
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Hmmm, seltsam.
Definitiv liegt's bei mir daran, dass chroot nicht funktioniert.
Ein direktes "ssh -l user localhost" klappt erstmal, jede weitere Eingabe wird aber von scponly mit "WinSCP: this is end-of-file:0" beantwortet. Jetzt müsste man wissen, wie WinSCP weiter kommunizieren würde oder ob dies generell zum Abbruch führt.
Definitiv liegt's bei mir daran, dass chroot nicht funktioniert.
Ein direktes "ssh -l user localhost" klappt erstmal, jede weitere Eingabe wird aber von scponly mit "WinSCP: this is end-of-file:0" beantwortet. Jetzt müsste man wissen, wie WinSCP weiter kommunizieren würde oder ob dies generell zum Abbruch führt.
at ~ now.
Hi,
hatte heute das selbe Problem und hat mich 2,5h gekostet
Zuerst müssen wir mal unterscheiden, was in dem scponly-paket alles drinnen ist:
Ich habe auch mit der netinst-CD installiert, Standard-System, Debian Etch
Folgende Fehler musste ich beheben:
1. scponlyc ist nicht in /etc/shells eingetragen, gelöst mit:
2. Das SUID-Bit ist für scponlyc nicht gesetzt, gelöst mit:
3. "/dev/null" in chroot-umgebung des users angelegt, wie von Kase beschrieben
Jetzt läuft alles wunderbar
gruß, johsch
hatte heute das selbe Problem und hat mich 2,5h gekostet
Zuerst müssen wir mal unterscheiden, was in dem scponly-paket alles drinnen ist:
Wenn ihr zum Anlegen das Script setup_chroot.sh benutzt, das ist nur für scponlyc zuständig.scponly:
Ist das Programm für vollen Dateizugriff auf Benutzerebene - D.h. der User hat vollen Zugang zu allem ihm lesbaren Dateien im System - Es können z.B. viele Systemdateien in /etc /var usw. gelesen werden - Auch das kann für einen Admin unangenehm sein, denn dann muss er je nach Vertrauensbereich entsprechend aufwendiger administrieren
scponlyc:
Bietet als Zusatz ein Chroot-Jail auf das Homeverzeichnis des Users an - D.h. der User kann NUR Dateien in seinem Homeverzeichnis lesen und schreiben
quelle: http://frilug.fh-friedberg.de/frilug/ssh.html oder: http://hp.kairaven.de/scpsftp/ssh-rssh-sftp.html
Ich habe auch mit der netinst-CD installiert, Standard-System, Debian Etch
Folgende Fehler musste ich beheben:
1. scponlyc ist nicht in /etc/shells eingetragen, gelöst mit:
Code: Alles auswählen
which scponlyc >> /etc/shells
Code: Alles auswählen
chmod u+s /usr/sbin/scponlyc
Jetzt läuft alles wunderbar
gruß, johsch
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Hallo johsch,
die 2-3 Std. hab ich auch schon hinter mir und so wie Du es beschreibst, ist mein Server auch konfiguriert. Funktioniert aber trotzdem nicht. Nachdem's aber nicht so pressant ist, konzentriere ich mich erstmal auf Wichtigeres.
Eine Abweichung habe ich allerdings, da ich eine extrem abgemagerte busybox als Befehlssatz für die scponlyc-shell benutze. Daran sollte es eigentlich nicht liegen, denn sowohl unter sid als auch sarge gibts keine Probleme.
Kommt Zeit, kommt Lösung
vg, L.W.
die 2-3 Std. hab ich auch schon hinter mir und so wie Du es beschreibst, ist mein Server auch konfiguriert. Funktioniert aber trotzdem nicht. Nachdem's aber nicht so pressant ist, konzentriere ich mich erstmal auf Wichtigeres.
Eine Abweichung habe ich allerdings, da ich eine extrem abgemagerte busybox als Befehlssatz für die scponlyc-shell benutze. Daran sollte es eigentlich nicht liegen, denn sowohl unter sid als auch sarge gibts keine Probleme.
Kommt Zeit, kommt Lösung
vg, L.W.
at ~ now.
-
- Beiträge: 2
- Registriert: 16.07.2007 22:17:55
scponly[2935]: failed: /usr/lib/sftp-server with error ...
Hallo Community,
ich habe scponly wie folgt installiert
und erhalte folgende Fehlermeldung
Ich habe scponlyc schon einmal unter debian etch 32Bit erfolgreich installiert.
Doch jetzt unter einer 64Bit Umgebung scheitert es ...
Ideen, Rat und Lebenshilfe ???
Vielen Dank.
Sven
ich habe scponly wie folgt installiert
Code: Alles auswählen
1. scponly installieren
apt-get install scponly
2. in das setup_chroot Verzeichnis wechseln
cd /usr/share/doc/scponly/setup_chroot/
3. setup.chroot.sh entpacken
gunzip setup.chroot.sh.gz
4. Dateirechte setzen
chmod u+rwx setup.chroot.sh
5. scponlyc in die /etc/shells eintragen
which scponlyc >> /etc/shells
6. SUID-Bit ist für scponlyc setzen
chmod u+s /usr/sbin/scponlyc
7. Script ausführen
./setup.chroot.sh
8. /dev/null für den Benutzer anlegen
cd /pfad/zu/deinem/chroot/
mkdir dev
cd dev
mknod -m 666 null c 1 3
Code: Alles auswählen
scponly[2935]: failed: /usr/lib/sftp-server with error No such file or directory(2)
Doch jetzt unter einer 64Bit Umgebung scheitert es ...
Ideen, Rat und Lebenshilfe ???
Vielen Dank.
Sven
-
- Beiträge: 2
- Registriert: 16.07.2007 22:17:55
OK, das Problem ist gelöst. Ich habe ein howto geschrieben, mit dem es jetzt jeder hinbekommen sollte.
http://www.serverclan.de/modules/wordpr ... tch-64bit/
Gruss
Sven
http://www.serverclan.de/modules/wordpr ... tch-64bit/
Gruss
Sven