Sådan Rsync Over Ssh Uden Adgangskode

Indlæg af Hanne Mølgaard Plasc

 

1.

Identificer den server, der oprindeligt indeholder filerne (vi kalder dette SOURCE-serveren) og serveren som du vil overføre filerne (vi kalder dette TARGET-serveren). Bekræft, at du kan logge ind på SOURCE-serveren, så du kan logge ind på TARGET-serveren, og at mens du logger på TARGET-serveren, kan du bruge ssh til at logge på SOURCE-serveren ved hjælp af dit kodeord.

2.

Log ind på TARGET-serveren. Udfør kommandoen

[mikeular @ targethost ~] $ssh-keygen -t dsa

ssh-keygen spørger dig, hvor du vil gemme nøglen. Accepter standardkataloget, som vil være ~ / .ssh / id\_dsa. Næste vil det bede dig om en adgangskode, lad denne post blive tom.

Din private nøglefil gemmes til ~ / .ssh / id\_dsa og din offentlige nøgle vil blive gemt til ~ / .ssh / id\_dsa .pub. Forsigtig! Enhver, der får en kopi af din id\_dsa-fil, vil være i stand til at logge på SOURCE-serveren som dig uden at autentificere sig selv. Sørg for at den er gemt sikkert!

3.

Nu skal du konfigurere SOURCE-serveren for at acceptere nøglen. Når dette trin er færdigt, vil alle med id\_dsa-filen blive kunne logge ind på SOURCE-serveren uden at give adgangskode.

Log ind på SOURCE-serveren og opret ssh-mappen:

[mikeular @ sourcehost ~] $mkdir ~ /. ssh
[mikeular @ sourcehost ~] $cd ~ / .ssh

Brug vi eller en anden tekstredigerer, lav en fil i ~ / .ssh med navnet authorized\_keys2. Skift nu til TARGET-serveren og kopier indholdet af filen id\_dsa.pub og indsæt dem i authorized\_keys2 på SOURCE-serveren. Gem tekstfilen.

4.

Sørg for, at de authorized\_keys2 ikke kan ændres af Andre brugere på SOURCE-serveren:

[mikeular @ sourcehost ~] $chmod 644 ~ / .ssh / authorized\_keys2

5.

Nu kan du teste dit setup. Gå tilbage til TARGET-serveren og opret forbindelse til kilden.

[mikeular @ targethost ~] $ssh brugernavn@sourcehost.com
[mikeular @ sourc ehost ~]

Din ssh-forbindelse fungerer nu korrekt.

6.

Test din rsync over ssh-forbindelsen ved at kopiere en fil fra SOURCE til TARGET. Indtast følgende kommando alle på en linje, og sørg for at erstatte de korrekte vejnavne, brugernavn og værtsnavn.

[mikeular @ targethost ~] $rsync -avz -e / usr / bin / ssh brugernavn @ sourcehost.com: / home / username / testfile / home / mikeular /

Dette skal kopiere filen 'testfil' fra din hjemmekatalog på sourcehost til din hjemmekatalog på targethost.

7.

Alt der er tilbage, er at konfigurere dit cron job. Masser af dokumentation er tilgængelig online.

Tips og advarsler

  • Hvis din ssh ikke tilslutter sig korrekt i trin 5, kan du prøve at bruge ssh -vvv brugernavn @ sourcehost for at få yderligere oplysninger. Kontrollér, at din ssh forsøger at u0026 quot; publickey u0026 quot; Autentificering metode.
  • Kontakt din systemadministrator, hvis det er relevant, inden du opretter denne form for forbindelse for at sikre, at den opfylder organisationens sikkerhedskrav.
  • Sørg for, at din konti på SOURCE- og TARGET-værten er sikre. Du har fortalt SOURCE-værten ikke at stille spørgsmål til nogen, der kender indholdet af din id\_dsa-fil (private nøgle). Du skaber et sikkerhedshul for nemheds skyld.
  • sikker på at alle de involverede filer har deres tilladelser sat til 0644 (rw-r - r--). Din id\_dsa-fil på TARGET-serveren skal indstilles til 0600 (rw -------) for at sikre, at ingen andre brugeren på serveren kan læse denne fil og derved få uønsket adgang til SOURCE-serveren. Sikkerhedskopiering af filer er en fælles opgave at planlægge ved hjælp af et cron-job, og ofte gøres dette ved at bruge rsync i forbindelse med ssh. I denne artikel vil jeg vise dig hvordan du konfigurerer ssh til automatisk login, så du kan planlægge dit rsync-job, og det kan køre uden at have brug for et kodeord. Kommandoerne, der bruges i denne artikel, skal alle fungere på de fleste smagsoplevelser af Linux.