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

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

    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 lidt justering 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 [options] original_file destination_file

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

    bruger @ server: sti / til / 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

    Denne kommando indeholder [-P] flag (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", hvilket er det 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.

    For at kopiere hele mapper skal du bruge [-r] flag (bemærk at det er en lille bogstav).

    Du kan også kombinere flag. I stedet for

    scp -P-r ...

    Du kan bare gøre det

    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 ved, hvor du skal 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 reel stor smerte at sætte dit kodeord i en fjerncomputer, du har tydeligvis 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, rigtigt?

    Indtast følgende kommando på din computer:

    ssh-keygen -t rsa

    Dette vil generere de to nøgler og indsætte dem:

    ~ / .Ssh /

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

    Når du har indtastet 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 for 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 filen ~ / .ssh / known_hosts. 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.

    Sikkerhedsmæssige overvejelser

    Er det 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 kun til den ene offentlige nøgle, og forbindelsen skal startes fra den computer, der har den private nøgle. RSA er temmelig sikker og bruger som standard en 2048 bitlængde.

    Det er faktisk temmelig ligner teori 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å det.

    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 forbinder over SSH eller bruger SCP, skal du have den rigtige private nøglefil såvel som 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, vil du kun kompromittere 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 super-sikre metode til at sætte mit sind i ro.


    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!