Uvod
Preduvjeti
Generiranje i korištenje SSH ključeva
Prijenos datoteka pomoću SCP-a
Prijenos datoteka pomoću Rsync-a
Uvod
Kada koristite naredbe poput scpili rsyncs javnom IP adresom vašeg poslužitelja, automatski ćete prenijeti datoteke preko (javnog) interneta. Ako imate dvije instance s omogućenim privatnim umrežavanjem, također možete prenijeti te datoteke putem privatne mreže i spriječiti dodatne troškove za korištenu propusnost.
Preduvjeti
- Dvije instance (nazvat ćemo ih
server_ai server_b) s omogućenim privatnim umrežavanjem
- Obje instance trebaju imati privatne IP adrese konfigurirane u istoj podmreži (pogledajte Konfiguriranje privatne mreže )
- SSH povezivost bi trebala biti moguća između obje instance
- Korisnik koji nije root (nazvat ćemo ga
your_user)
Generiranje i korištenje SSH ključeva
Prijenos datoteka moguć je pomoću provjere autentičnosti korisničkog imena i lozinke, ali je puno sigurnije koristiti SSH ključeve. Generiranje javno-privatnog ključa opisano je u Kako mogu generirati SSH ključeve? . Ako odlučite preskočiti ovaj odjeljak, morat ćete unijeti lozinku udaljenog korisnika u svaku naredbu.
Pod pretpostavkom da se par javno-privatnih ključeva server_analazi u ~/.ssh/id_rsa, možete pokrenuti sljedeću naredbu za prijenos vašeg javnog ključa na server_b. Koristite privatnu IP adresu server_b.
ssh-copy-id your_user@192.168.0.101
Kada se to od vas zatraži, dajte lozinku za your_user.
ssh-copy-id your_user@192.168.0.101 /usr/bin/ssh-copy-id: INFO: Source of
key(s) to be installed: "/home/your_user/.ssh/id_rsa.pub" The
authenticity of host '192.168.0.101 (192.168.0.101)' can't be
established. ECDSA key fingerprint is
SHA256:g9dfqycqU25b567/HDjPTqaQqKhep/fysNCQAG9yJG4. ECDSA key
fingerprint is MD5:41:67:be:68:51:9b:38:a8:95:82:71:47:f1:35:39:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s),
to filter out any that are already installed /usr/bin/ssh-copy-id:
INFO: 1 key(s) remain to be installed -- if you are prompted now it is
to install the new keys your_user@192.168.0.101's password:
Number of key(s) added: 1
Sada se pokušajte prijaviti na stroj.
ssh your_user@192.168.0.101
Provjerite jesu li dodani samo ključ(ovi) koje ste željeli.
Ako sada koristite SSH od server_ado server_b, više neće tražiti lozinku. U slučaju da se par javno-privatnih ključeva ne nalazi u ~/.ssh/id_rsatada možete odrediti njegovu lokaciju s -iparametrom (trebat će vam i ovaj parametar s naredbom scpand rsync).
ssh-copy-id -i /path/to/your/public_key your_user@192.168.0.101
ssh -i /path/to/your/private_key your_user@192.168.0.101
Prijenos datoteka pomoću SCP-a
SCP je skraćenica od Secure Copy i prenosi sve podatke preko SSH veze. Za kopiranje jedne datoteke, ~/myfile, iz server_au /tmpdirektorij na, server_bmožemo izdati sljedeću naredbu.
scp ~./myfile your_user@192.168.0.101:/tmp
Za kopiranje cijele mape sa svim njezinim sadržajem (uključujući simboličke veze) možete dodati -ropciju
scp -r ~./mydir your_user@192.168.0.101:/tmp
Prijenos datoteka pomoću Rsync-a
Rsync je svestran alat za kopiranje datoteka, najčešće se koristi za sinkronizaciju sadržaja na dvije lokacije. Koristi isti sigurni SSH tunel za prijenos podataka. Cijela mapa se može sinkronizirati s udaljenim direktorijem /tmpsljedećom naredbom
rsync -av ~/mydir your_user@192.168.0.101:/tmp
-vOpcija povećava opseg podataka, tako da možete pratiti napredak prijenosa. -aOpcija omogućava „arhiva način” koji kopira datoteke rekurzivno čuvajući atribute kao vlasnika, grupu i dozvole.