Sziasztok!
Láttam, hogy ugyan már többször volt téma az sftp, de járható megoldás eddig (még) nem született (ahogy láttam).
Nekem azt kellene megoldanom, hogy bizonyos userek SFTP-vel is betudjanak lépni (sajnos muszáj). Proftpd+SSL is van, de van akinek csak SFTP jó.
Amiket eddig találtam:
http://lists.freebsd.org/pipermail/freebsd-bugs/2005-December/016147.ht…
Ezt beleírtam az openssh kódjába, lefordítottam, de nem nagyon akart működni. Ilyen szinten találkozott már valaki működő patchel?
http://www.howtoforge.com/mysecureshell_sftp_debian_etch
Ez teljesen jól működik, de mennyire lehet ez biztonságos?
Olyan megoldást keresnék, ahol nem kellene külön chrootolt környezetet létrehozni, hanem kb úgy mint az első megoldás ahogy működne, úgy tudna a user CSAK a saját HOME-jában tevékenykedni. Esetleg valami alternatív SFTP server? Gondoltam arra is, hogy a fentiek valamelyikét JAIL-ezni, és még mellé kigyomlálni az openssh kódját, hogy csak SFTP-t engedjen, és akkor 2 SSHD futna, az egyik a 22-n, a másik meg ott ahol én akarom, és ott csak én közlekedek! :)
Köszi!
- 4183 megtekintés
Hozzászólások
ja igen rssh/scponly -t is ismerem, de más megoldást keresek.
- A hozzászóláshoz be kell jelentkezni
Szia!
Van ahonnan egy eleve chroot-ot engedelyezo ssh csomag letoltheto (Talan redhat-ra). Most csak a leforditasra varo cuccot talaltam meg:
http://chrootssh.sourceforge.net/download/
Amugy nalam is rssh van illetve a chroot-on belul csak futtatasi joga van a usernek a nem sajat konyvtarara.
Udv!
Toth
- A hozzászóláshoz be kell jelentkezni
Ja es ez az ssh-s valtozat is hasonlo az rssh-hoz, csak itt az rssh helyett az openssh teszi chroot-olta onmagat. De ekkor meg tiltani kell az ssh-val torteno belepest.
Mondjuk a chroot-olt openssh-hoz lehet forditani egy sftpsh-t (vagy mi a neve) es ezt beallitani shell-nek, de ezzel tul korulmenyesse valik a userek szamara a konyvtarak bongeszese.
- A hozzászóláshoz be kell jelentkezni
Köszi, ezt már megtaláltam régebben, de valamiért (?) még sem próbáltam még ki, de délután mindenképpen ki fogom. Esetleg használtad már?
- A hozzászóláshoz be kell jelentkezni
Igen, de mar nem tudom mi lett az a fo "hibaok", amiert megis az rssh-t kezdtem hasznalni. Arra emlekszem, hogy a winscp-vel valami gond volt (lehet, hogy csak pancserek ultek elotte... :) ), illetve korulmenyesebb volt (es nem hiszem, hogy ezzel biztonsagosabb is) a chroot megfelelo beallitasa.
- A hozzászóláshoz be kell jelentkezni
En eleg sokat keresgeltem szinten a temaban, de a vegen maradtam az scponlynal. Konnyu vele felepiteni es a par multbeli botlasa utan ugy nez ki, mostanaban rendben van.
--
B+ - http://pozor.hu
- A hozzászóláshoz be kell jelentkezni
Hi,
Az sshd konfba beírod :
ChallengeResponseAuthentication no
Match Group !sysadm
AllowTcpForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server --chroot -l INFO
Ennyi, ha nem a sysadm groupban van az user akkor csak sftp van. Ha csak user tiltas kell es csak par db ra akkor :
Match User batka
AllowTcpForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server --chroot -l INFO
Igy te tudsz ssh-zni es a tobbinek sftp van. Remelem erre gondoltal, ha több info kell a folyamatrol akkor a -l INFO helyett a -l DEBUG-ot ird be. A match utani 3 sor tab-al legyen az elejen!
Üdv
Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.
- A hozzászóláshoz be kell jelentkezni
Ez amit írtál jól hangzik, de hányas openssh-val működik? Nálam két dologra is errort dobott mikor beraktam a configba.
# /etc/init.d/ssh restart
/etc/ssh/sshd_config: line 80: Bad configuration option: Match
/etc/ssh/sshd_config: line 83: Bad configuration option: ForceCommand
/etc/ssh/sshd_config: terminating, 2 bad configuration options
(én ezzel próbáltam: openssh-server 4.3p2-9)
- A hozzászóláshoz be kell jelentkezni
Közben töltöttem/fordítottam egy friss openssh-t (4.7p1), működik szépen a Match és a ForceCommand, de az sftp-server után a --chroot -l INFO nem nagyon akar, a user simán ki tud menni a $HOME-jából. Mit ronthatok el?
Ennyi volt a configomban ahogy te is írtad:
# Example of overriding settings on a per-user basis
Match User test
X11Forwarding no
AllowTcpForwarding no
ForceCommand /usr/local/libexec/sftp-server --chroot -l INFO
(Patchelni kéne az sftp-servert, hogy tudja a --chroot -ot?)
- A hozzászóláshoz be kell jelentkezni
Szevasztok
Nálam működik az sftp chroot.
rssh -val, chroot -olt környezetben.
/etc/rssh.conf -ba beállítod a chrootpath -ot, a logolást, az umask -ot, stb...
( Plusz be lehet állítani külön user -ek re a jogokat, stb. ).
Megcsinálod a chroot könyvtárat ( nálam sftpjail ).
ldd -vel kiszeded a kellő libeket amik kellenek, és bemásolod a chroot könyvtárba.
Sok leírással ellentétben nekem nem működött, ha csak simán a $CHROOT/lib könyvtárba raktam őket, hanem meg kellett csinálnom a rendes könyvtárszerkezetet.
( Pl: /lib/tls/i686/cmov/libc.so.6 ).
Kell két fájl a /dev -be ( null, zero ).
Kell az scp, rssh, sftp-server, rssh_chroot_helper is, mindegyik szintén az eredeti könyvtárelérési út szerint a jail -be.
Utána /home -ba megcsinálod a user -eket.
passwd -ben átírod a user -ek shell -jét rssh -ra, meg a /home elérési útjukat irányítsd a jail -be.
Az sftp-server -re állíts be setuid bitet ( chmod u+s ).
Onnantól kezdve működik.
Ha nem megy, indítsd az ssh démont a -d kapcsolóval és "elmondja" mi a baja.
Nálam így néz ki:
bulltux:/home/csabi# sftp csabi'@'192.168.1.2
Connecting to 192.168.1.2...
csabi'@'192.168.1.2's password:
sftp> ls -l
-rw-r--r-- 1 1001 1001 6908863 Sep 25 2004 cjlz35le_1_0_1_tar.gz
sftp>
sftp> cd ..
sftp> ls -l
drwxr-x--- 2 1001 1001 4096 Dec 24 11:44 csabi
sftp>
sftp> cd ..
sftp> ls -l
drwxr-xr-x 2 0 0 4096 Dec 24 12:06 dev
drwxr-xr-x 5 0 0 4096 Dec 24 12:33 home
drwxr-xr-x 3 0 0 4096 Dec 24 12:12 lib
drwxr-xr-x 4 0 0 4096 Dec 24 12:12 usr
sftp>
sftp> cd ..
sftp> pwd
Remote working directory: /
sftp> exit
Én is próbáltam a különböző ssh-chroot patch -eket, de egyik sem ment.
Ez végre működik rendesen.
Ez alapján csináltam:
gentoo-wiki.com/HOWTO_SFTP_Server_(chrooted,_without_shell)
Szevasztok
- A hozzászóláshoz be kell jelentkezni
Szia!
Köszi szépen, de (én legalábbis) más megoldást keresek. Direkt szeretném az ilyen másolgatós megoldásokat elkerülni. Ettől akkor már (szerintem) pratktikusabb a mysecureshell-es megoldás:
http://mysecureshell.sourceforge.net/
- A hozzászóláshoz be kell jelentkezni
Valaki aki tud C-ben programozni, nem tudja összehozni ezt a két patchet, hogy ne kelljen a $HOME-nak "/home/user/./"-t megadni, hanem a /etc/ssh/sftpchroot-ból vegye, hogy ki az aki SFTP esetén CHROOT-olt HOME-ba kerüljön? :) Vagy aki sftp groupban van azt rakja CHROOT-olt HOME-ba. Megpróbálkozom majd vele én is, de nem sok közöm van a C-hez, aki meg képben van szerintem 10 perc összehozni a kettőből.
http://lists.freebsd.org/pipermail/freebsd-bugs/2005-December/016147.ht…
http://www.coding-zone.com/chroot+sftp-server.patch
Na valaki? :)
- A hozzászóláshoz be kell jelentkezni
Hi,
OpenSSH_4.6p1 Debian-6, OpenSSL 0.9.8g 19 Oct 2007
es nagyon szepen muzsikal. :)
Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.
- A hozzászóláshoz be kell jelentkezni
Nekem ez az egy sor ami nem akar működni:
ForceCommand /usr/local/libexec/sftp-server --chroot -l INFO
Itt is a --chroot kapcsolóval van a gond, a Match-os dolog az ssh-val már megy szépen. Szintén azok a verziók vannak fent mint Neked. Szóval erről a --chroot-ról nem tudnál mondani valamit bővebben? :)
Köszi!
- A hozzászóláshoz be kell jelentkezni
Banyek de hamar valaszolok. :) Bocs nem neztem. Na mind1.
a Forcecommand azt mondja, hogy a kapcsolat utan milyen daemon induljon itt a peldaban csak sftp lehet az usernek es no ssh shell.
az sftpd nek mondod -l INFO <- sima loggolas, ha pl tobbet akarsz akkor DEBUG
a --chroot azt mondja ne engedje ki a home-bol.
Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.
- A hozzászóláshoz be kell jelentkezni
Az ok, ezzel kapcsolatban eddig is képben voltam, csak nekem valamiért a --chroot parancsot nem szereti (nem ismeri) mint kapcsoló... patchelted külöm, vagy mit kell tudni az openssh/sftp-server-edről? :)
- A hozzászóláshoz be kell jelentkezni
Szia
semmi extra patch debain etch csomag.
Szijártó Zoltán
Aki tud az alkot, aki nem tud az csak szövegel.
- A hozzászóláshoz be kell jelentkezni
Akkor valamit nagyon elszúrhatok, vagy fogalmam sincs... :)
Debian Etch, SSH-2.0-OpenSSH_4.6p1 Debian-5
sshd_config (alján):
Match User test
X11Forwarding no
AllowTcpForwarding no
ForceCommand /usr/lib/openssh/sftp-server --chroot -l INFO
# sftp test@localhost
Connecting to localhost...
test@localhost's password:
sftp> pwd
Remote working directory: /home/test
sftp> cd /
sftp> pwd
Remote working directory: /
sftp> ls
bin boot dev etc home (...)
Nálam mondjuk sajna az sftp-server manjában is csak ez a két lehetőség van:
NAME
sftp-server - SFTP server subsystem
SYNOPSIS
sftp-server [-f log_facility] [-l log_level]
- A hozzászóláshoz be kell jelentkezni
nekem igy sikerult osszehozni:
Gentoo, OpenSSH5.0
sshd_config:
Subsystem sftp internal-sftp
Match User test
ChrootDirectory /home/test
X11Forwarding no
AllowTcpForwarding no
ami meg fontos, hogy a konyvtar ami chroot-olva lesz az owner.group, root.root legyen és 0755 jogokkal. Letrehoztam ala egy konytarat, amit a test user hasznalhat(az owner.group = test.test).
Lehet mar megoldottad, de azert leirtam egy mukodo "nem masolgatos" megvalositast.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni