6Aug

Cum să copiați de la distanță fișierele pe SSH fără a introduce parola

SSH este un program de salvare a vieții atunci când trebuie să gestionați de la distanță un computer, dar știați că puteți încărca și descărca și fișiere? Folosind cheile SSH, puteți săriți prin introducerea parolelor și utilizarea acestora pentru scripturi!

Acest proces funcționează pe Linux și pe Mac OS, cu condiția ca acestea să fie configurate corespunzător pentru accesul SSH.Dacă utilizați Windows, aveți posibilitatea să utilizați Cygwin pentru a obține funcționalități asemănătoare Linux-ului, iar cu un mic amendament, SSH va rula, de asemenea.

Copierea fișierelor peste SSH

Copia securizată este o comandă foarte utilă și este foarte ușor de utilizat. Formatul de bază al comenzii este următorul:

scp [opțiuni] original_file destinație_file

Cel mai mare kicker este modul de formare a părții de la distanță.Când adresați un fișier la distanță, trebuie să o faceți în felul următor:

utilizator @ server: cale /to/ fișier

Serverul poate fi un URL sau o adresă IP.Acesta este urmat de un colon, apoi de calea către dosarul sau dosarul în cauză.Să ne uităm la un exemplu.

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

Această comandă prezintă flagul [-P]( rețineți că este un capital P).Acest lucru îmi permite să specific un număr de port în loc de implicit 22. Acest lucru este necesar pentru mine din cauza modului în care am configurat sistemul meu.

În continuare, fișierul meu original este "url.txt" care se află în interiorul unui director numit "Desktop".Fișierul destinație este în "~ /Desktop/ url.txt" care este același ca "/user/yatri/Desktop/ url.txt".Această comandă este administrată de utilizatorul "yatri" pe calculatorul la distanță "192.168.1.50".

Ce Dacă trebuie să faceți exact opusul? Puteți copia fișiere de pe un server la distanță similar.

Aici am copiat un fișier din folderul "~ /Desktop/" al calculatorului la distanță în dosarul "Desktop" al calculatorului meu.

Pentru a copia directoare întregi, va trebui să utilizați pavilionul [-r]( rețineți că este o literă mică).

Puteți, de asemenea, să combinați steaguri.În loc de

scp -P -r. ..

Puteți face doar

scp -Pr. ..

Partea cea mai dificilă aici este faptul că completarea filelor nu funcționează întotdeauna, deci este util să aveți un alt terminal cu o sesiune SSH care rulează astfel încât să știiunde să punem lucrurile.

SSH și SCP fără parole

Copia securizată este minunată.Puteți să-l puneți în scripturi și să faceți backup la computerele de la distanță.Problema este că este posibil să nu fi întotdeauna în jur pentru a introduce parola.Și, hai să fim cinstiți, este o adevărată durere mare să vă puneți parola pe un computer la distanță pe care, evident, aveți acces la tot timpul.

Ei bine, putem să folosim parolele utilizând fișiere cheie. Putem avea computerul să genereze două fișiere cheie - unul public care aparține serverului de la distanță și unul privat care este pe computerul dvs. și trebuie să fie sigur - și acestea vor fi folosite în locul unei parole. Destul de convenabil, nu?

Pe computer, introduceți următoarea comandă:

ssh-keygen -t rsa

Aceasta va genera cele două chei și le va pune:

~ /.ssh/

cu numele "id_rsa" pentru cheia privată și "id_rsa.pub" pentrucheia dvs. publică.

După ce ați introdus comanda, vi se va cere să salvați cheia. Puteți apăsa Enter pentru a utiliza valorile implicite menționate mai sus.

Apoi, vi se va solicita să introduceți o expresie de acces. Apăsați Enter pentru a lăsa acest spațiu gol, apoi faceți-l din nou atunci când solicită confirmarea. Următorul pas este să copiați fișierul cheie cheie pe computerul dvs. la distanță.Aveți posibilitatea să utilizați SCP pentru a face acest lucru:

Destinația pentru cheia dvs. publică este pe serverul de la distanță, în următorul fișier:

~ /.ssh/ authorized_keys2

Cheile publice ulterioare pot fi adăugate la acest fișier, la fel ca fișierul ~ /.ssh/ known_hosts. Aceasta înseamnă că, dacă doriți să adăugați o altă cheie publică pentru contul dvs. pe acest server, ați copia conținutul celui de-al doilea fișier id_rsa.pub într-o linie nouă din fișierul authorized_keys2 existent.

Considerații privind securitatea

Nu este aceasta mai puțin sigură decât o parolă?

Într-un sens practic, nu într-adevăr. Cheia privată care este generată este stocată pe computerul pe care îl utilizați și nu este niciodată transferat, nici chiar verificat. Această cheie privată se potrivește NUMAI cu acea cheie publică ONE, iar conexiunea trebuie inițiată de la computerul care are cheia privată.RSA este destul de sigur și utilizează în mod implicit o lungime de 2048 de biți.

De fapt, teoretic este destul de similar cu utilizarea parolei. Dacă cineva vă cunoaște parola, securitatea dvs. va ieși din fereastră.Dacă cineva are fișierul cu cheia privată, atunci se pierde securitatea pentru orice computer care are cheia pubiană potrivită, dar are nevoie de acces la computer pentru ao obține.

Poate fi mai sigur?

Puteți combina o parolă cu fișierele cheie. Urmați pașii de mai sus, dar introduceți o expresie de acces puternică.Acum, atunci când vă conectați peste SSH sau folosiți SCP, veți avea nevoie de fișierul cheii private private , precum și de la , fraza de acces corespunzătoare.

Odată ce introduceți fraza de acces o dată, nu vi se va mai solicita până când nu vă închideți sesiunea. Asta inseamna ca prima data cand SSH / SCP va trebui sa introduceti parola, toate actiunile ulterioare nu vor fi necesare. După ce vă deconectați de la computer( nu de la telecomandă) sau închideți fereastra terminalului, atunci va trebui să o introduceți din nou.În acest fel, nu sacrificați cu adevărat securitatea, dar, de asemenea, nu sunteți hărțuit pentru parole tot timpul.

Pot să reutilizez perechea de chei publice / private?

Aceasta este o idee foarte rea. Dacă cineva îți găsește parola și folosești aceeași parolă pentru toate conturile, atunci ei au acces la toate acele conturi.În mod similar, fișierul cu chei private este, de asemenea, foarte secret și important.(Pentru mai multe informații, aruncați o privire la Cum să vă recuperați după ce parola dvs. de e-mail este compromisă)

Este cel mai bine să creați perechi noi de chei pentru fiecare computer și cont pe care doriți să le conectați.În acest fel, dacă una dintre cheile dvs. private este prinsă într-un fel, atunci veți compromite un cont pe un computer la distanță.

De asemenea, este foarte important să rețineți că toate cheile dvs. private sunt stocate în același loc: în ~ /.ssh/ de pe computer, puteți utiliza TrueCrypt pentru a crea un container securizat criptat, apoi creați link-uri de simbol în directorul ~/.ssh/.În funcție de ceea ce fac, folosesc această metodă superparanoidă super-sigură pentru a-mi pune mintea la ușurință.

Ați folosit SCP în orice scenariu? Utilizați fișiere cheie în locul parolelor?Împărtășiți-vă experiența proprie cu alți cititori în comentariile!