If-Koubou

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

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

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 alte 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 folosit. Formatul de bază al comenzii este următorul:

scp [opțiuni] original_file destinație_file

Cel mai mare kicker este modul de formatare 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 / catre / fisier

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.

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

Ce trebuie sa faci opusul? Puteți copia fișiere de pe un server la distanță similar.

Aici, am copiat un fișier de pe 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ă).

De asemenea, puteți combina drapele. In loc de

scp -P-r ...

Poți să faci

scp -Pr ...

Cea mai dificilă parte este 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ă știți unde să puneți 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.

Putem obtine parole folosind fisierele 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 calculatorul dvs., introduceți următoarea comandă:

ssh-keygen -t rsa

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

~ / .Ssh /

cu numele "id_rsa" pentru cheia dvs. privată și "id_rsa.pub" pentru cheia 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 cere 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ță. Puteți folosi scp pentru a face acest lucru:

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

~ / .Ssh / authorized_keys2

Următoarele chei publice pot fi atașate 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, este destul de similar în teorie 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șiere 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 utilizați SCP, veți avea nevoie de fișierul cheie propriu-zis precum și fraza de acces corectă.

După 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 reutiliza 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 modul de recuperare după ce parola dvs. de e-mail este compromisă)

Cel mai bine este să creați perechi de chei noi 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 fișierul ~ / .ssh / director. În funcție de ceea ce fac, folosesc această metodă super-paranoică 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!