6Aug

Sådan fjerner du eksternt filer over SSH uden at indtaste dit kodeord

click fraud protection

SSH er en livredder, når du har brug for fjernbetjening af en computer, men vidste du også, at du også kan uploade og downloade filer også?Ved hjælp af SSH-nøgler kan du springe over for at indtaste adgangskoder og bruge dette til scripts!

Denne proces virker på Linux og Mac OS, forudsat at de er korrekt konfigureret til SSH-adgang. Hvis du bruger Windows, kan du bruge Cygwin til at få Linux-lignende funktionalitet, og med en lille tweaking vil SSH også køre.

Kopiering af filer over SSH

Sikker kopi er en rigtig nyttig kommando, og det er virkelig nemt at bruge. Basisformatet for kommandoen er som følger:

scp [indstillinger] original_file destination_file

Det største kicker er, hvordan du formaterer fjernparten. Når du adresserer en fjernfil, skal du gøre det på følgende måde:

user @ server: sti /to/-fil

Serveren kan være en URL eller en IP-adresse. Dette efterfølges af et kolon, så stien til den pågældende fil eller mappe. Lad os se på et eksempel.

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

instagram viewer

Denne kommando indeholder flaget [-P]( bemærk at det er en hovedstad P).Dette giver mig mulighed for at angive et portnummer i stedet for standard 22. Dette er nødvendigt for mig på grund af den måde, jeg har konfigureret mit system på.

Dernæst er min oprindelige fil "url.txt", som er inde i en mappe kaldet "Desktop".Destinationsfilen er i "~ /Desktop/ url.txt", som er den samme som "/user/yatri/Desktop/ url.txt".Denne kommando køres af brugeren "yatri" på fjerncomputeren "192.168.1.50".

Hvad hvis du skal gøre det modsatte? Du kan også kopiere filer fra en fjernserver på samme måde.

Her har jeg kopieret en fil fra den eksterne computers "~ /Desktop/" -mappe til min computers "Desktop" -mappe.

Hvis du vil kopiere hele mapper, skal du bruge [-r] flag( bemærk at det er en lille bogstaver r).

Du kan også kombinere flag. I stedet for

scp -P -r. ..

Du kan bare gøre

scp-Pr. ..

Den hårdeste del her er, at fanebladet ikke altid fungerer, så det er nyttigt at have en anden terminal med en SSH-session, der kører, så du vedhvor at sætte ting

SSH og SCP uden adgangskoder

Sikker kopi er fantastisk. Du kan sætte det i scripts og få det til at lave sikkerhedskopier til fjerncomputere. Problemet er, at du måske ikke altid er rundt for at indtaste adgangskoden. Og lad os være ærlige, det er en virkelig stor smerte at sætte dit kodeord i en fjerncomputer, du har selvfølgelig adgang til hele tiden.

Nå, vi kan komme rundt ved at bruge adgangskoder ved at bruge nøglefiler. Vi kan få computeren til at generere to nøglefiler - et offentligt publikum, der hører hjemme på den eksterne server og en privat, der er på din computer og skal være sikker - og disse vil blive brugt i stedet for et kodeord. Rigtig bekvemt, ikke?

På din computer skal du indtaste følgende kommando:

ssh-keygen -t rsa

Dette genererer de to nøgler og indsætter dem:

~ /.ssh/

med navnene "id_rsa" til din private nøgle og "id_rsa.pub" fordin offentlige nøgle.

Efter indtastning af kommandoen bliver du spurgt, hvor du skal gemme nøglen. Du kan trykke på Enter for at bruge ovennævnte standardindstillinger.

Derefter bliver du bedt om at indtaste en adgangskode. Tryk Enter for at forlade dette blankt, og gør det igen, når det beder om bekræftelse. Det næste skridt er at kopiere den offentlige nøglefil til din fjerncomputer. Du kan bruge scp til at gøre dette:

Destinationen til din offentlige nøgle er på den eksterne server i følgende fil:

~ /.ssh/ authorized_keys2

Efterfølgende offentlige nøgler kan vedhæftes til denne fil, ligesom /.ssh/ known_hosts-filen. Dette betyder, at hvis du ønskede at tilføje en anden offentlig nøgle til din konto på denne server, ville du kopiere indholdet af den anden id_rsa.pub-fil til en ny linje på den eksisterende authorized_keys2-fil.

Sikkerhedshensyn

Er dette ikke mindre sikkert end et kodeord?

I en praktisk forstand, ikke rigtig. Den private nøgle, der genereres, gemmes på den computer, du bruger, og den overføres aldrig, ikke engang for at blive verificeret. Denne private nøgle KUN passer til den ene offentlige nøgle, og forbindelsen skal startes fra den computer, der har den private nøgle. RSA er ret sikkert og bruger som standard en 2048 bitlængde.

Det er faktisk temmelig ligner i teorien til at bruge dit kodeord. Hvis nogen har kendskab til dit kodeord, går din sikkerhed ud af vinduet. Hvis nogen har din private nøglefil, går sikkerheden tabt på enhver computer, der har den matchende pubic-nøgle, men de har brug for adgang til din computer for at få den.

Kan dette være mere sikkert?

Du kan kombinere et kodeord med nøglefiler. Følg ovenstående trin, men indtast en stærk adgangskode. Nu, når du opretter forbindelse over SSH eller bruger SCP, skal du bruge den rigtige private nøglefil samt den korrekte adgangskode.

Når du først indtaster din adgangskode en gang, bliver du ikke bedt om det igen, før du lukker din session. Det betyder at første gang du SSH / SCP, skal du indtaste dit kodeord, men alle efterfølgende handlinger kræver ikke det. Når du logger ud af din computer( ikke fjernbetjeningen) eller lukker dit terminalvindue, skal du indtaste det igen. På denne måde giver du ikke virkelig ofre for sikkerhed, men du er heller ikke chikaneret for adgangskoder hele tiden.

Kan jeg genbruge det offentlige / private nøglepar?

Dette er en rigtig dårlig ide. Hvis nogen finder dit kodeord, og du bruger samme adgangskode til alle dine konti, har de nu adgang til alle disse konti. Ligeledes er din private nøglefil også superhemmelig og vigtig.(For mere information, se hvordan du kan gendanne, efter at dit email-kode er kompromitteret).

Det er bedst at oprette nye nøglepar til hver computer og konto, du vil linke. På den måde, hvis en af ​​dine private nøgler bliver ramt på en eller anden måde, så kompromitterer du kun en konto på en fjerncomputer.

Det er også meget vigtigt at bemærke, at alle dine private nøgler er gemt på samme sted: i ~ /.ssh/ på din computer kan du bruge TrueCrypt til at oprette en sikker krypteret container og derefter oprette symlinks i din /.ssh/-mappe. Afhængigt af hvad jeg laver, bruger jeg denne superparanoide supersikker metode til for at gøre mit hjerte tilpas.

Har du brugt SCP i nogen scripts? Bruger du nøglefiler i stedet for adgangskoder? Del din egen ekspertise med andre læsere i kommentarerne!