Slik fjerner du eksternt filer over SSH uten å skrive inn passordet ditt

Innholdsfortegnelse:

Slik fjerner du eksternt filer over SSH uten å skrive inn passordet ditt
Slik fjerner du eksternt filer over SSH uten å skrive inn passordet ditt

Video: Slik fjerner du eksternt filer over SSH uten å skrive inn passordet ditt

Video: Slik fjerner du eksternt filer over SSH uten å skrive inn passordet ditt
Video: Top 10 Microsoft Edge Chromium Best Features - YouTube 2024, April
Anonim
SSH er en livredder når du trenger fjernstyring av en datamaskin, men visste du at du også kan laste opp og laste ned filer også? Ved hjelp av SSH-taster kan du hoppe over å måtte skrive inn passord og bruke dette til skript!
SSH er en livredder når du trenger fjernstyring av en datamaskin, men visste du at du også kan laste opp og laste ned filer også? Ved hjelp av SSH-taster kan du hoppe over å måtte skrive inn passord og bruke dette til skript!

Denne prosessen fungerer på Linux og Mac OS, forutsatt at de er riktig konfigurert for SSH-tilgang. Hvis du bruker Windows, kan du bruke Cygwin til å få Linux-lignende funksjonalitet, og med litt justering vil SSH også kjøre.

Kopiere filer over SSH

Sikker kopi er en veldig nyttig kommando, og det er veldig enkelt å bruke. Hovedformatet for kommandoen er som følger:

scp [options] original_file destination_file

Den største kickeren er hvordan du formaterer den eksterne delen. Når du adresserer en ekstern fil, må du gjøre det på følgende måte:

user@server:path/to/file

Serveren kan være en URL eller en IP-adresse. Dette følges av et kolon, deretter banen til den aktuelle filen eller mappen. La oss se på et eksempel.

scp –P 40050 Desktop/url.txt [email protected]:~/Desktop/url.txt

Denne kommandoen inneholder [-P] -flagget (merk at det er en hovedstad P). Dette lar meg spesifisere et portnummer i stedet for standard 22. Dette er nødvendig for meg på grunn av måten jeg har konfigurert systemet på.

Deretter er min opprinnelige fil "url.txt" som er inne i en katalog som heter "Desktop". Destinasjonsfilen er i "~ / Desktop / url.txt" som er den samme som "/user/yatri/Desktop/url.txt". Denne kommandoen blir drevet av brukeren "yatri" på den eksterne datamaskinen "192.168.1.50".

Hva Hvis du trenger å gjøre det motsatte? Du kan også kopiere filer fra en ekstern server på samme måte.
Hva Hvis du trenger å gjøre det motsatte? Du kan også kopiere filer fra en ekstern server på samme måte.
Her har jeg kopiert en fil fra den eksterne datamaskinens "~ / Desktop /" -mappe til datamaskinens "Desktop" -mappe.
Her har jeg kopiert en fil fra den eksterne datamaskinens "~ / Desktop /" -mappe til datamaskinens "Desktop" -mappe.

For å kopiere hele kataloger må du bruke flagget [-r] (merk at det er en liten bokstav).

Du kan også kombinere flagg. I stedet for
Du kan også kombinere flagg. I stedet for

scp –P –r …

Du kan bare gjøre det

scp –Pr …

Den tøffeste delen her er at fanefølge ikke alltid fungerer, så det er nyttig å ha en annen terminal med en SSH-sesjon som kjører slik at du vet hvor du skal sette ting.

SSH og SCP uten passord

Sikker kopi er flott. Du kan sette den i skript og få den til å gjøre sikkerhetskopier til eksterne datamaskiner. Problemet er at du kanskje ikke alltid er rundt for å skrive inn passordet. Og la oss være ærlige, det er en virkelig stor smerte å sette inn passordet ditt til en ekstern datamaskin som du åpenbart har tilgang til hele tiden.

Vel, vi kan komme seg rundt ved hjelp av passord ved å bruke nøkkelfiler. Vi kan få datamaskinen til å generere to nøkkelfiler - ett publikum som tilhører den eksterne serveren, og en privat som er på datamaskinen og må være sikker - og disse vil bli brukt i stedet for et passord. Ganske praktisk, ikke sant?

Skriv inn følgende kommando på datamaskinen:

ssh-keygen –t rsa

Dette vil generere de to nøklene og sette dem inn:

~/.ssh/

med navnene "id_rsa" for din private nøkkel og "id_rsa.pub" for din offentlige nøkkel.

Etter at du har skrevet inn kommandoen, blir du spurt hvor du skal lagre nøkkelen. Du kan trykke Enter for å bruke de ovennevnte standardinnstillingene.
Etter at du har skrevet inn kommandoen, blir du spurt hvor du skal lagre nøkkelen. Du kan trykke Enter for å bruke de ovennevnte standardinnstillingene.

Deretter blir du bedt om å skrive inn en passordfrase. Trykk Enter for å la dette være tomt, og gjør det igjen når det ber om bekreftelse. Det neste trinnet er å kopiere den offentlige nøkkelfilen til den eksterne datamaskinen. Du kan bruke scp for å gjøre dette:

Destinasjonen for din offentlige nøkkel er på den eksterne serveren, i følgende fil:
Destinasjonen for din offentlige nøkkel er på den eksterne serveren, i følgende fil:

~/.ssh/authorized_keys2

Senere offentlige nøkler kan legges til denne filen, mye som ~ /.ssh / known_hosts-filen. Dette betyr at hvis du vil legge til en annen offentlig nøkkel for kontoen din på denne serveren, kopierer du innholdet til den andre id_rsa.pub-filen til en ny linje i den eksisterende authorized_keys2-filen.

Sikkerhetshensyn

Er det ikke mindre sikkert enn et passord?

I en praktisk forstand, egentlig ikke. Den private nøkkelen som genereres, lagres på datamaskinen du bruker, og den overføres aldri, ikke engang for å bli verifisert. Denne private nøkkelen KUN samsvarer med den ene offentlige nøkkelen, og forbindelsen må startes fra datamaskinen som har den private nøkkelen. RSA er ganske sikker og bruker som standard en 2048 bitlengde.

Det er faktisk ganske likt i teorien til å bruke passordet ditt. Hvis noen har kjennskap til passordet ditt, går sikkerheten ut av vinduet. Hvis noen har din private nøkkelfil, går sikkerheten tapt på hvilken som helst datamaskin som har den tilhørende pubic nøkkelen, men de trenger tilgang til datamaskinen din for å få den.

Kan dette være sikrere?

Du kan kombinere et passord med nøkkelfiler. Følg trinnene ovenfor, men skriv inn en sterk passordfrase. Nå, når du kobler over SSH eller bruker SCP, trenger du den riktige private nøkkelfilen i tillegg til riktig passord.

Når du har skrevet inn passordet ditt en gang, blir du ikke bedt om det igjen før du lukker økten. Det betyr at første gang du SSH / SCP, må du skrive inn passordet ditt, men alle påfølgende handlinger krever ikke det. Når du logger deg ut av datamaskinen din (ikke fjernkontrollen) eller lukker terminalvinduet, må du skrive det inn igjen. På denne måten oppnår du ikke virkelig sikkerhet, men du er heller ikke trakassert for passord hele tiden.

Image
Image

Kan jeg gjenbruke det offentlige / private nøkkelparet?

Dette er en veldig dårlig ide. Hvis noen finner passordet ditt, og du bruker det samme passordet for alle kontoene dine, har de nå tilgang til alle disse kontoene.Tilsvarende er din private nøkkelfil også superhemmelig og viktig. (For mer informasjon, ta en titt på hvordan du gjenoppretter etter at passordet ditt er kompromittert)

Det er best å lage nye nøkkelpar for hver datamaskin og konto du vil koble sammen. På den måten, hvis en av dine private nøkler blir tatt på en eller annen måte, så vil du bare kompromittere en konto på en ekstern datamaskin.

Det er også veldig viktig å merke seg at alle private nøkler lagres på samme sted: i ~ /.ssh / på datamaskinen din, kan du bruke TrueCrypt til å lage en sikker, kryptert container, og deretter lage symlinks i ~ /.ssh / katalog. Avhengig av hva jeg gjør, bruker jeg denne superparanoide supersikker metoden for å gjøre tankene mine trygge.

Har du brukt SCP i noen skript? Bruker du nøkkelfiler i stedet for passord? Del din egen ekspertise med andre lesere i kommentarene!

Anbefalt: