rsync skrz ssh (a jen ssh)


To czdebian-l zavinac debian bod cz
From Jan Hradek <twider zavinac volny bod cz>
Date Wed, 05 May 2004 21:06:35 +0200
User-agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3

Zdravim,

pokousim se rozbehat rsync pres ssh (a jen ssh). Z man rsyncd.conf jsem si v sekci "RUNNING AN RSYNC SERVER OVER A REMOTE SHELL PROGRAM" / "ADVANCED" precetl ze musim vlozit prikaz
        "rsync --server --daemon ."
pripadne
        "rsync --server --daemon --config=/cesta/k/rsyncd.conf ."
do volby COMMAND v ~/.ssh/authorized_keys prislusneho uzivatele (zde dady). Rsync demon se pote spousti pri uspesnem prihlaseni pres ssh pres prislusny klic.

Co jsem tedy udelal:

(kratoucky rsyncd.conf jen na rozbehani)
        $cat /dev/stdin > /home/dady/rsyncd.conf
        [mymodule]
                path=/tmp
                comment=blabla
        CTRL+D
(zajistit prava /home/dady/rsyncd.conf)
        $chmod 644 /home/dady/rsyncd.conf

(vygenerovat klic pomoci ssh-keygen)
        $ssh-keygen -t rsa
        [kam umistit]: enter
(defaultne je /home/dady/.ssh/id_rsa +  /home/dady/.ssh/id_rsa.pub)
        [passphrase]: enter (zadne heslo pro klic)
        [passphraserepeat]: enter (jen pro zopakovani)
(vytvorim identity a authorized_keys - zatim zkusim rsync jen lokalne pres ssh - stejny uzivatel = dady)
        $cp /home/dady/.ssh/id_rsa /home/dady/.ssh/identity
        $cp /home/dady/.ssh/id_rsa.pub /home/dady/.ssh/authorized_keys
(zajistim spravna prava pro identitu a authorized_keys)
        $chmod 644 /home/dady/.ssh/authorized_keys
        $chmod 600 /home/dady/.ssh/identity

(prvni zkouska - ssh bez hesla)
        $ssh localhost
(prihlaseni bez hesla v naproste pohode)
(zkusim rsync pres ssh - bez configu bez "force command" v authorized_keys, stale pod userem dady, jedna dvojtecka zajisti ssh, bez modulu to vypise "nabizene" moduly)
        $rsync localhost:
(vypise obsah adresare /home/dady, proc?)
(zkusim i verbose jak rsyncu tak ssh)
        $rsync -vv -e "ssh -v" localhost:
(mimojine vypise prikaz co si rsync na "vzdalene" masine spusti)
        ...
        debug1: Sending command: rsync --server --sender -vvr .
        ...

(ted zacnou problemy; podle "RUNNING AN RSYNC SERVER OVER A REMOTE SHELL PROGRAM" / "ADVANCED" pridam "force command")
        $touch /home/dady/.ssh/ak47
        $echo -n "command=\"rsync --server --daemon \
          --config=/home/dady/rsyncd.conf .\" " > /home/dady/.ssh/ak47
        $cat /home/dady/.ssh/authorized_keys >> /home/dady/.ssh/ak47
        $mv /home/dady/.ssh/ak47 /home/dady/.ssh/authorized_keys
(takze ted po nalogovani vlezu rovnou do rsyncu)
        $ssh localhost
(vybehne)
        @RSYNCD: 28
(tim mi hlasi verzi protokolu a ted to ceka na komunikaci s klientem)
(ctrl+c, zkusim rsync)
        $rsync localhost:

(vypise)
        protocol version mismatch - is your shell clean?
        (see the rsync man page for an explanation)
        rsync error: protocol incompatibility (code 2) at compat.c(69)
(s detailama)
        $rsync -vv -e "ssh -v" localhost:
(vypise detaily)
        ...
debug1: Remote: Forced command: rsync --server --daemon --config=/home/dady/rsyncd.conf .
        debug1: Authentication succeeded (publickey).
        debug1: channel 0: new [client-session]
        debug1: Entering interactive session.
        debug1: Sending command: rsync --server --sender -vr .
        debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
        protocol version mismatch - is your shell clean?
        (see the rsync man page for an explanation)
        rsync error: protocol incompatibility (code 2) at compat.c(69)
        ...
(v man strance radi podivat se co leze z ssh pres)
        $ssh localhost /bin/true > data.out
(data.out by mel byt prazdny, ovsem bezi tam rsync takze se do data.out zapise @RSYNCD: 28 a pak to ceka na dalsi prikazy, takze to musim CTRL+C-nout. Pokud vyhodim z authorized_keys option COMMAND tak tento test probehne v poradku, takze ssh je v tom uplne nevinne. rsync si defacto stezuje sam na sebe, resp. na me).

Mate nejake napady co s tim? Chtel bych proste rozbehat rsync s modulama jen pres ssh.

Jan Hradek
        
PS.: je to defacto offtopic ale list linux.cz je na me moc "velkej".



Partial thread listing: