Svatko tko administrira Linux strojeve vjerojatno poznaje sigurnu ljusku. Bez ovog alata daljinsko administriranje tih poslužitelja bilo bi prilično izazovno. Također bi postalo teže premještati datoteke naprijed-natrag, barem uz minimalnu sigurnost. Tu dolazi do izražaja sigurna kopija. Pomoću naredbe SCP možete kopirati datoteke na i s udaljenog Linux poslužitelja kroz šifrirani SSH tunel.
Međutim, uz pomoć provjere autentičnosti SSH ključa, to možete učiniti još sigurnijim. Želim vam pokazati kako možete koristiti sigurnu provjeru autentičnosti ključa i SCP kako biste bili sigurni da se vaše datoteke sigurno premještaju naprijed-natrag. Pokazat ću na Osnovni OS klijent i Ubuntu 16.04.1 poslužitelj i pretpostavimo da imate instaliranu sigurnu ljusku i da radi.
Sadržaj objave
1
BDRSuite
Zaposlenici po veličini tvrtke
Micro (0-49), Small (50-249), Medium (250-999), Large (1000-4999), Enterprise (5000+)
Srednje (250-999 zaposlenika)
srednje
Značajke
Korisnička podrška 24/7, redundantnost podataka, šifriranje i više
SSH ključevi
Prva stvar koju morate napraviti je stvoriti par SSH ključeva. Da biste to učinili, otvorite prozor terminala i izdajte naredbu:
ssh-keygen -t rsa
Od vas će se tražiti da date naziv datoteci (koristite zadano) i da paru ključeva date lozinku.
Nakon što se ključ ključa ispiše, vaš je ključ spreman za korištenje.
Sljedeći korak je kopiranje ključa na udaljeni poslužitelj. To se radi naredbom:
ssh-copy-id USER@SERVER
Gdje je USER korisničko ime udaljenog poslužitelja, a SERVER je adresa udaljenog poslužitelja.
Bit ćete upitani za lozinku udaljenog korisnika. Nakon što se uspješno autentificirate, javni ključ će se kopirati na poslužitelj. Spremni ste za polazak.
Korištenje SCP-a s vašim ključem
Sada kada su naši ključevi na svim pravim mjestima, pogledajmo kako ih možemo koristiti kroz SCP. Pod pretpostavkom da ste prihvatili zadani naziv za svoj SSH ključ nakon stvaranja, naredba za slanje datoteke na vaš udaljeni poslužitelj koristeći vaš SSH ključ je:
scp -i ~/.ssh/id_rsa.pub FILENAME USER@SERVER:/home/USER/FILENAME
Gdje je FILENAME naziv datoteke, USER je korisničko ime na udaljenom stroju, a SERVER je adresa udaljenog poslužitelja.
Trebali biste biti upitani za lozinku SSH ključa (ne korisničku lozinku). Nakon provjere autentičnosti datoteka će se prenijeti.
Isto vrijedi i ako trebate povući datoteku s udaljenog poslužitelja. Struktura te naredbe bi bila:
scp -i ~/.ssh/id_rsa.pub USER@SERVER:/home/USER/FILENAME /home/USER/FILENAME
Opet, od vas će se tražiti vaša lozinka SSH ključa, a datoteka će biti povučena s poslužitelja i kopirana na lokalno računalo.
Zaboravite tu lozinku
Recimo da ćete se podvrgnuti dugoj sesiji kopiranja datoteka na vaš poslužitelj. Naravno, možete ih sve skupiti u jednu veću datoteku. Ali recite da ih sve treba smjestiti u različite direktorije. To je puno tipkanja. Ovo možete učiniti malo učinkovitijim korištenjem ssh-agent i ssh-add naredbe.
Tako je, koristeći kombinaciju SCP-a, provjere autentičnosti SSH ključa i ssh-agent radi dobro. To će vas spriječiti da morate upisivati lozinku SSH ključa svaki put kada izdate SCP naredbu. Jedno upozorenje je da morate zapamtiti PID sesije agenta i uništiti ga kada završite.
Evo što morate učiniti.
- Prije izdavanja SCP naredbe izdajte eval
ssh-agentza početak sesije. - Zabilježite ID procesa koji ste dobili kada sesija započne.
- Dodajte svoj SSH ključ sesiji pomoću naredbe
ssh-add. - Počnite koristiti SCP za kopiranje datoteka.
To je sve. Kada završite sa sesijom, obavezno izdajte naredbu kill PID (gdje je PID stvarni broj koji ste dobili kada ste pokrenuli sesiju ssh-agenta s eval).
Je li SCP još uvijek siguran?
Netko tko pita je li SCP siguran vjerojatno je pročitao Najava izdanja za 2019 za OpenSSH 8.0, koji je izjavio da je SCP protokol “zastario, nefleksibilan i nije ga lako popraviti” i preporučio SFTP i Rsync kao alternative za prijenos datoteka.
Prije OpenSSH 8.0, SCP nije mogao provjeriti integritet datoteke tijekom prijenosa, ostavljajući korisnike izloženima neovlaštenim prepisivanjima i napadima ubrizgavanjem ako je njihov poslužitelj bio ugrožen (CVE-2019-611). Međutim, ažuriranje je uvelo strožu provjeru naziva datoteke kao zadanu za naredbu SCP, čineći je sigurnijom i premjestilo svoje prethodno ponašanje bez provjere u naredbu scp -T.
Zatim, u OpenSSH 9.0, objavljen 2022SFTP je usvojen kao zadana pozadina za SCP umjesto naslijeđenog SCP/RCP protokola, što znači da su prijenosi sada šifrirani i autentificirani SSH protokolom. Iako se naširoko smatra sigurnim, korisnici ipak trebaju biti oprezni s drugim rizicima poput pogrešno konfiguriranih poslužitelja ili zastarjelih verzija softvera.
Što mogu koristiti umjesto SCP-a?
- SFTP: Dok SCP prema zadanim postavkama koristi SFTP protokol, možete razmisliti o korištenju izvornih SFTP klijenata za napredno upravljanje datotekama jer omogućuje više operacija, poput pregledavanja direktorija i brisanja datoteka.
- Rsync: Idealno za sinkronizaciju datoteka i direktorija, posebno za inkrementalne sigurnosne kopije i velike skupove podataka. Pogledajte vodič TechRepublica o tome kako sigurnosno kopirati mrežu pomoću Rsynca.
- FTPS: Sigurna opcija za tradicionalne FTP prijenose sa SSL/TLS enkripcijom, ali može biti složena za konfiguraciju.
- Alati temeljeni na HTTPS-u: Kao npr
curliliwgetza sigurna preuzimanja putem HTTPS-a. Ovo je izvrsno za automatizaciju, ali ne pružaju potpuno upravljanje imenikom kao SFTP.
Fiona Jackson ažurirala je ovaj članak u siječnju 2025.



