Kirjoittaja Aihe: (Ratkaistu) CygWin + rsync password file ongelma  (Luettu 6070 kertaa)

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Tervehdys.

Minulla on Wintoosassa koneella tälläinen kätsä scripti jolla saan varmuuskopiot ajettua palvelimelle:

koodia:

>cd C:\cygwin\bin\

$rsync -rvt  --password-file=/cygdrive/c/cygwin/secret --delete /cygdrive/i/Mydocs/important user@siellajataallapalvelimella:/home/user/backups/

Homma pelaa muuten mutta sitkeästi kysyy tuota salasanaa.
Kenelläkään ideaa miten saisi lukemaan tuon salasanan kiltisti "secret" tiedostosta.

T.
Tunkkaamo
« Viimeksi muokattu: 15.11.08 - klo:21.10 kirjoittanut Tunkkaamo »
T.
Tunkkaamo

Tha-Fox

  • Käyttäjä
  • Viestejä: 3315
  • Arch Linux && CentOS
    • Profiili
    • http://kettu.dy.fi
Vs: CygWin + rsync password file ongelma
« Vastaus #1 : 04.11.08 - klo:09.37 »
Pelkkä heitto, mutta onhan "secret"-tiedoston oikeudet kunnossa?

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Vs: CygWin + rsync password file ongelma
« Vastaus #2 : 04.11.08 - klo:11.31 »
Pelkkä heitto, mutta onhan "secret"-tiedoston oikeudet kunnossa?

Juu kyllä oli vähintään read - oikeudet kaikilla, mutta ongelma taitaakin olla siinä että salasana ei välity ssh:ta pitkin vastaanottavan palvelimen daemonille.
Googlaamalla tuli aiheesta lisätietoa, mutta ei vielä mitään ratkaisevaa.

Periaatteessa jos vastaanottava palvelin on oma, voisi muodostaa salasanattoman ssh-avainparin jolla autentikoida tuon secret tiedoston sijaan.
Se vain ei onnistu, jos vastaanottava palvelin ei ole oma vaan esim. ISP:n accountti.

Tutkinta jatkuu...

T.
Tunkkaamo
T.
Tunkkaamo

Taleman

  • Käyttäjä
  • Viestejä: 79
    • Profiili
Vs: CygWin + rsync password file ongelma
« Vastaus #3 : 04.11.08 - klo:14.58 »
Käytä remote shellinä SSH:ta ja järjestä niin ettei SSH kysy salasanaa vaan käyttää tunnistamiseen koneavaimia. Näin olen tehnyt Unix-koneiden välillä backupit rsync:llä. Tässä ohje:
http://www.hackinglinuxexposed.com/articles/20021211.html
Tapio Lehtonen
Pori

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Vs: CygWin + rsync password file ongelma
« Vastaus #4 : 05.11.08 - klo:22.10 »
Käytä remote shellinä SSH:ta ja järjestä niin ettei SSH kysy salasanaa vaan käyttää tunnistamiseen koneavaimia. Näin olen tehnyt Unix-koneiden välillä backupit rsync:llä. Tässä ohje:
http://www.hackinglinuxexposed.com/articles/20021211.html

No sieltähän sitä ohjetta löytyi: seikkaperaisesti yli toistakymmentä sivua pitkä litania  ;D
Täytyy ajastaa viikonlopulle tuon tunkkaus, jos vaikka kokeilisi kotipalvelimelle ensiksi ja sitten ISP:n koneelle ensi viikolla jos saa pelaamaan kotona.

T.
Tunkkaamo
T.
Tunkkaamo

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Vs: CygWin + rsync password file ongelma
« Vastaus #5 : 08.11.08 - klo:22.04 »
Käytä remote shellinä SSH:ta ja järjestä niin ettei SSH kysy salasanaa vaan käyttää tunnistamiseen koneavaimia. Näin olen tehnyt Unix-koneiden välillä backupit rsync:llä. Tässä ohje:
http://www.hackinglinuxexposed.com/articles/20021211.html

No sieltähän sitä ohjetta löytyi: seikkaperaisesti yli toistakymmentä sivua pitkä litania  ;D
Täytyy ajastaa viikonlopulle tuon tunkkaus, jos vaikka kokeilisi kotipalvelimelle ensiksi ja sitten ISP:n koneelle ensi viikolla jos saa pelaamaan kotona.

T.
Tunkkaamo

Edistys edistyy niinkuin aina.
Melko klassikko tuo ohjeistus mutta pääsin ainakin sen verran eteenpäin että sain aikaiseksi salasanattoman kirjautumisen asiakaskoneelta palvelimelle jonne varmuuskopio laitetaan.
Ja vielä käyttämällä ihan tavallisen käyttäjän oikeuksia molemmissa päissä.

Seuraa "koodeksia".
VISTA = clienttikone, vistauser käyttäjä siellä.
SERVER=palvelinkone ja serveruser käyttäjä palvelimella
Vistassa on cygwin ssh:lla asennettuna ja serverillä myös ssh.Samoin rsync on clienttinä vistassa ja serverillä myös daemonina.

Avataaan Vistassa cygwin komentorivi ja aletaan "komennuttaminen"
$ cd c:\cygwin
$ mkdir home
$ cd home/

cygwin ei oletusarvoisesti tee home - kansiota, mutta sen voi tässä vaiheessa tehdä.
kysytään vielä tarkkaan oma käyttäjätunnus :)

$ whoami
vistauser
$ mkdir vistauser
$ cd vistauser/
$ mkdir identi
$ cd identi/
$ ssh-keygen -f identi_rsa -t rsa

Nyt tulee kyselyä salasanoista, painetaan enteriä tyhjän salasanan merkiksi.
Eli luodaan käyttäjän kotihakemisto ja sen alle /identi kansio, jonne ssh-keygenillä identi_rsa niminen filu jossa avain on (tyypiksi määrättiin rsa).
Ssh tekee automaattisesti kaksi filua:

$ ls
identi_rsa identi_rsa.pub

Tässä tuo identi_rsa .pub:n sisältö pitää saada serverin puolelle .ssh kansioon authorized_keys2 filuun.
Ainakin omalla palvelimellani tuo kansio /home/serveruser/.ssh/authorized_keys2 oli, mutta sen voi sinne luoda jos ei ole.
Hieman epäortodoksisesti avasin authorized_keys2 filun winscp:llä sciteen kun se sattui olemaan auki ja copypastain identi_rsa.pub:n sisällön filun viimeiseksi rivin perään.
Pastasin  vikaksi riviksi välittämättä mitä muuta kamaa siinä oli.

Tässä vaiheessa Puttyllä serveruserina servulle ja hieman oikeuksien muokkausta jotta ssh-daemon saadaan tyytyväiseksi.

serveruser@server:~$ chmod go-w .
serveruser@server:~$ cd .ssh/
serveruser@serve:r~/.ssh$  chmod 700 .
serveruser@server:~/.ssh$ chmod 600 *

Huomatkaa pisteet ja tähdet tarkkaan.

Tässä vaiheessa exittiä servulta ja takaisin vistan cygwin komentoriville:

$ cd c:\cygwin
Tässä cygwin on asennettu tähän hakemistoon ja toimii siis "/" hakemistona
Nyt sitten kokeillaan:

$ssh serveruser@server -i home/vistauser/identi/identi_rsa

Osavoitto :

serveruser@server:~$ hostname
server

Eli päästiin servulle ilman salasanaa!
Seuraavaksi pitäisi saada vielä tuo rsync ujuttamaan tuo identi_rsa kun kirjaudutaan mutta taidampa ottaa iltakaljan ensiksi!

T.
Tunkkaamo




« Viimeksi muokattu: 09.11.08 - klo:11.18 kirjoittanut Tunkkaamo »
T.
Tunkkaamo

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Vs: CygWin + rsync password file ongelma
« Vastaus #6 : 08.11.08 - klo:22.30 »
Kiinnosti sen verran itseänikin, että tulin lukeneeksi man-sivua.

Kokeile rsyncille vipua -e 'ssh -i home/vistauser/identi/identi_rsa' eli jotain tällaista:

Koodia: [Valitse]
rsync -muut_vipuset -e 'ssh -i home/vistauser/identi/identi_rsa' serverijuuseri@serveri

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Vs: CygWin + rsync password file ongelma
« Vastaus #7 : 09.11.08 - klo:10.44 »
Kiinnosti sen verran itseänikin, että tulin lukeneeksi man-sivua.

Kokeile rsyncille vipua -e 'ssh -i home/vistauser/identi/identi_rsa' eli jotain tällaista:

Koodia: [Valitse]
rsync -muut_vipuset -e 'ssh -i home/vistauser/identi/identi_rsa' serverijuuseri@serveri

Nyt ollaan lähellä maalia, mutta... Koodia:

Vistassa, cygwin komentoriviltä:
$rsync -rvt --delete -e 'ssh -i  /cygdrive/c/cygwin/home/vistauser/identi/identi_rsa' /cygdrive/c/docs/important serveruser@server:/home/serveruser/backups/

Warning: Identity file /cygdrive/c/cygwin/home/vistauser/identi/identi_rsa not accessible: No such file or directory.

Käyköhän tuossa nyt niin että komento yrittäää hakea tuota identi-filua erheellisesti servulta?

T.
Tunkkaamo



« Viimeksi muokattu: 09.11.08 - klo:11.18 kirjoittanut Tunkkaamo »
T.
Tunkkaamo

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Vs: CygWin + rsync password file ongelma
« Vastaus #8 : 09.11.08 - klo:21.54 »
Hitaasti mutta epävarmasti etenee tämä homma.
Isänpäiväsapuskat on syöty, tämän kun saisi vielä tehtyä niin hyvä....

Cygwinin komentoriviltä homma jo pelaa:

$local_key=/cygdrive/c/cygwin/home/vistauser/identi/identi_rsa
$rsync -rvt --delete --rsh="'ssh -i  $local_key" /cygdrive/c/docs/important serveruser@server:/home/serveruser/backups/

Scriptin kun noista tekee niin tulokset ovat yhtä heikot, johtunee cygwinin tavasta käsitellä polkuja...
Olisiko kenelläkän moisesta kokemusta?

T.
Tunkkaamo
T.
Tunkkaamo

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
(Ratkaistu) CygWin + rsync password file ongelma
« Vastaus #9 : 15.11.08 - klo:21.09 »
No niin iltaa vaan kaikille.

Tulihan tähänkin joku järki, vaikka se meinasi tässä välillä jo hukkua kun ei yksinkertaista scriptiä saanut toimimaan  ???

Tein pari muutosta VISTA - clientille:
-rsa avaimet heitin cygwinin juureen eli siis tässä tapaukseesa c:\cygwin\ kansioon (en millään saanut scriptiä lukemaan alikansioista avaimia, niin mitä turhaan taistelemaan tuulimyllyjä vastaan)
-muutin kansioon wintoosa oikeudet vain minullle ja vielä kryptaankin sen seuraavaksi ettei sitä pääse kukaan lukemaan vaikka kone katoaisi


Nyt minulla on uusi scripti jota siis kutsutaan wintoosasta ihan kaksoisklikkaamalla: backuppasswordless.bat

Koodia:

cd c:\cygwin\
rsync -rtv -e 'ssh -i identi.rsa' --delete /cygdrive/c/docs/important serveruser@server:/home/serveruser/backups/

Nyt se toimii....
Alkuvaatimukset hommalle selviävät tämän threadin lukemalla.
Eli saan halutut kansiot rsync-varmuuskopioitua Windows koneelta linux palvelimelle ihan ajamalla tuon batin.
Toimii sekä koti-Ubuntuun että ISP:n palvelimelle mikä ajaa jotain mitä lienee distroa.

T.
Tunkkaamo


T.
Tunkkaamo

Tunkkaamo

  • Käyttäjä
  • Viestejä: 231
    • Profiili
    • Tunkkaamo
Yhteenveto:(Ratkaistu) CygWin + rsync password file ongelma
« Vastaus #10 : 16.11.08 - klo:11.24 »
Pähkinänkuoressa vielä koko homma:

Tarkoituksena oli luoda windows koneeseen scripti, jolla voi esim ajastettuna varmuukopioida rsynciä käyttäen tiedostoja automaattisesti Linux palvelimelle (joko koti- tai ISP:n koneelle).
Tämä vaatii sen että scripti ei pysähdy salasanan kyselyyn vaan tunnistautuminen voidaan hoitaa automaattisesti.

Speksit homman hoitamiseksi alla:

VISTA = clienttikone, vistauser käyttäjä siellä.
SERVER=palvelinkone ja serveruser käyttäjä palvelimella
Vistassa on cygwin ssh:lla asennettuna ja serverillä myös ssh.Samoin rsync on clienttinä vistassa ja serverillä myös daemonina.

Avataaan Vistassa cygwin komentorivi ja aletaan "komennuttaminen"

$ cd c:\cygwin
$ ssh-keygen -f identi_rsa -t rsa

Nyt tulee kyselyä salasanoista, painetaan enteriä tyhjän salasanan merkiksi.
Eli luodaan ssh-keygenillä identi_rsa niminen filu jossa avain on (tyypiksi määrättiin rsa).
Ssh tekee automaattisesti kaksi filua:

$ ls
identi_rsa identi_rsa.pub (+ jne. kamaa mitä on c:\cygwin\ juuressa)

Tässä tuo identi_rsa .pub:n sisältö pitää saada serverin puolelle .ssh kansioon authorized_keys2 filuun.
Ainakin omalla palvelimellani tuo kansio /home/serveruser/.ssh/authorized_keys2 oli, mutta sen voi sinne luoda jos ei ole.
Hieman epäortodoksisesti avasin authorized_keys2 filun winscp:llä sciteen kun se sattui olemaan auki ja copypastain identi_rsa.pub:n sisällön filun viimeiseksi rivin perään.
Pastasin  vikaksi riviksi välittämättä mitä muuta kamaa siinä oli.

Tässä vaiheessa Puttyllä serveruserina servulle ja hieman oikeuksien muokkausta jotta ssh-daemon saadaan tyytyväiseksi.

serveruser@server:~$ chmod go-w .
serveruser@server:~$ cd .ssh/
serveruser@serve:r~/.ssh$  chmod 700 .
serveruser@server:~/.ssh$ chmod 600 *

Huomatkaa pisteet ja tähdet tarkkaan.

Tässä vaiheessa exittiä servulta ja takaisin vistan cygwin komentoriville:

$ cd c:\cygwin
Tässä cygwin on asennettu tähän hakemistoon ja toimii siis "/" hakemistona
Nyt sitten kokeillaan:

$ssh serveruser@server -i identi_rsa

Osavoitto :

serveruser@server:~$ hostname
server

Seuraavaksi pitäisi saada vielä tuo rsync ujuttamaan tuo identi_rsa kun kirjaudutaan:

Tehdään scriptitiedosto Vista koneeseen: backup.cmd (esim.)

Koodia:

cd c:\cygwin\
rsync -rtv -e 'ssh -i identi_rsa' --delete /cygdrive/c/docs/important serveruser@server:/home/serveruser/backups/

Tuota muokkaamalla voi eri kansioita kopsata rsyncillä palvelimelle.
Ihan sama onko kotipalvelin vai ISP:n, kunhan olet tehnyt kotikansioon sen .ssh kansion,  muokannut oikeudet ja liittänyt
identi_rsa .pub tiedoston sisällön .ssh kansioon authorized_keys2 filuun.

Tuohon authorized_keys2 filuun voi vielä laitella turvaoptioita (esim. vain rsync komento on sallittu).
Niistä lisää tuossa mainitussa ohjessa: http://www.hackinglinuxexposed.com/articles/20021211.html (kiitos Taleman).


T.
Tunkkaamo

T.
Tunkkaamo