Hvordan bruke SFTP -kommandoen i Linux

Hvordan bruke SFTP -kommandoen i Linux

Denne opplæringen forklarer hvordan du kobler til og overfører filer gjennom SFTP -protokollen i Linux, samt sikring ved å implementere sikkerhetstiltak.

De sftp Kommando er et av de mest nyttige verktøyene for hver nettverksbruker, inkludert innenlandske brukere. Denne kommandoen kan også implementeres i Windows -systemer, noe som gjør den attraktiv for hver nettverkstype.

Dette er et av de viktigste kommandolinjeverktøyene for å dele filer mellom datamaskiner sikkert. I tillegg, for å laste ned og laste opp filer og kataloger, kan brukeren eksternt endre tillatelser, fjerne og gi nytt navn til filer og mer.

SFTP er en kommando som definitivt vil forbedre nettverksopplevelsen fra kommandolinjen.

Etter å ha lest denne artikkelen og brukt eksempler (de kan også reproduseres i en virtuell maskin), vil leseren vite hvordan de skal konfigurere Linux -systemer for å overføre filer med SFTP -kommandoen, både i interaktiv modus og kommandolinje.

Innholdet er gyldig for alle Linux -distribusjoner og inkluderer ekte scenarioskjermbilder, noe som gjør det enkelt for alle lesere å forstå hvordan kommandoer brukes uavhengig av forrige kunnskapsnivå.

Kort introduksjon til sftp

Tidligere FTP (File Transference Protocol) var den eneste metoden for å overføre filer mellom klienter og servere eller mellom to nettverksenheter.

Brukere pleide å laste opp alle nedlastingsfiler fra FTP -servere med tillatelser til å lese og skrive på de tillatte katalogene.

Men FTP -protokollen fikk sårbarheter med høy risiko og ble erstattet med nyere og sikrere protokoller. To kjent eksempler er SCP (Secure Copy Protocol) og SFTP (Secure File Transference Protocol). SFTP er en av de mest populære erstatningene for FTP -protokollen.

Som FTP kan SFTP brukes gjennom en interaktiv tekstmodus eller ved å utføre enkeltkommandoer. Denne opplæringen forklarer begge teknikkene.

Tidligere krav for å bruke SFTP

De sftp Protokoll krever ssh (Sikker skall) som skal installeres og kjøres på serveren du vil laste ned filer fra eller laste opp filer til.

Hvis serveren din allerede har SSH -kjøringen, kan du hoppe til neste SFTP -delen.

På Debian -baserte Linux -distribusjoner kan SSH installeres ved hjelp av Apt Packages Manager som vist på skjermbildet nedenfor.

sudo apt install ssh

På Redhat -baserte Linux -distribusjoner kan SSH installeres ved å utføre følgende kommando:

DNF installer OpenSH-server

Når du er installert, på serveren du vil koble til, start tjenesten med SystemCTL Kommando som vist nedenfor (Debian -baserte distribusjoner).

sudo systemctl start ssh

For å starte SSH -tjenesten på Redhat -baserte distribusjoner, kjør:

sudo systemctl start sshd

Hvordan å bruke sftp I interaktiv modus

Denne delen dekker sftp Interaktiv modusbruk.

Den eneste kommandoen som skal utføres for å få tilgang til sftp server før du får sftp Kommandoprommer er tilkoblingsforespørselen, som har den lignende syntaksen til ssh og SCP.

Eksemplet nedenfor beskriver riktig syntaks, hvor <Bruker> må erstattes med en eksisterende bruker på serveren og <Serverip> med serververten eller IP -adressen.

sftp @

I skjermbildet nedenfor, den lokale brukeren Linux-Hint3 kobles til som den eksterne brukeren Linuxhint til serveren med IP -adresse 192.168.0.103.

SFTP [email protected]

Første gang brukeren kobles til serveren, vil han bli bedt om å bekrefte tilkoblingen. Brukeren må skrive "ja", trykk TAST INN og fyll passordet.

Når brukeren kobles til, vil serveren returnere en sftp> Kommando -ledeteksten der brukeren kan utføre sftp kommandoer.

De sftp Interaktiv modus lar brukere samhandle både med de lokale og eksterne systemene.

Normale Linux -kommandoer påvirker serveren. Kommandoer som begynner med en "l”Utføres i det lokale systemet.

For eksempel, hvis brukeren utfører PWD Kommando, den vil vise den eksterne gjeldende arbeidskatalogen. Men hvis brukeren kjører LPWD, Det vil vise den lokale gjeldende katalogen.

Som standard er den lokale eksterne katalogen den eksterne brukerhjemkatalogen, bortsett fra noen tilfeller som følgende eksempel, der den eksterne brukeren ikke har en hjemmekatalog.

På skjermbildet nedenfor, PWD Kommandoen blir utført for å vise den eksterne gjeldende arbeidskatalogen.

PWD

Deretter, LPWD utføres for å vise den lokale nåværende arbeidskatalogen.

LPWD

Som du kan se på skjermbildet over, er den eksterne gjeldende arbeidskatalogen rotkatalogen (fordi Linuxhint4 Ekstern brukerbruker har ikke en hjemmekatalog) og den lokale arbeidskatalogen er det lokale hjemmet.

Hvis brukeren kjører ls (Liste) Kommando, den vil vise eksterne filer og kataloger i den gjeldende arbeidskatalogen.

ls

Ved å henrette lls (Lokal liste), vil kommandoen vise filer og kataloger i den lokale gjeldende arbeidskatalogen.

Med CD (Endre katalog) -kommando, brukeren kan flytte mellom eksterne kataloger. Med LCD (Lokalt endre katalog) Kommando kan brukeren flytte mellom lokale kataloger, som vist i følgende figur.

Syntaksen for å laste ned en fil fra serveren er følgende:

Eller

I eksemplet nedenfor laster brukeren ned filen som heter File10 og løper deretter lls (Lokalt liste) Bekreftelse av at filen ble lastet ned riktig.

Få File10

For å laste ned kataloger er syntaksen nesten den samme bortsett fra -r flagg som vist nedenfor.

bli -r

Eller

bli -r

I eksemplet nedenfor laster brukeren ned en katalog som heter Katalog1.

Få -r Directory1

For å laste opp filer er syntaksen følgende:

sette

I det praktiske eksemplet nedenfor laster brukeren opp en fil som heter <fil>

For å laste opp kataloger, bare legg til -r flagg.

Put -r

Eller

put -r

Brukere kan fjerne filer også eksternt ved å bruke de samme Linux -kommandoene. For eksempel for å fjerne en fil bare kjør:

rm

For å fjerne kataloger, legg til -r flagg som vist nedenfor.

Rm -r

De df -h Kommando kan brukes til å vise total serverplass, brukt og tilgjengelig plass.

df -h

Brukere kan også endre fil- og katalogtillatelser med Chmod Kommando som vist i eksemplet nedenfor.

Chmod +/-

For å avslutte den interaktive modusløpet exit.

Exit

En annen måte å forlate sftp økt er Ha det kommando.

Ha det

Ved hjelp av sftp Med enkeltkommandoer

I tillegg, til den interaktive modusen, kan SFTP brukes med enkeltkommandoer. Denne delen dekker hvordan du laster ned og laster opp filer uten tidligere tilkobling til den interaktive modusen.

Syntaksen for å laste ned filer er følgende:

sftp @:

I eksemplet nedenfor logger brukeren inn som Linuxhint5 bruker og laster ned mål.tekst ekstern fil til den lokale katalogen representert i en periode.

SFTP [email protected]: Mål.tekst .

I det praktiske eksemplet nedenfor laster brukeren ned filen som heter noe2.tekst Ligger i fjernkontrollen testdir/ underkatalog til det lokale Skrivebord/ underkatalog.

SFTP [email protected]: testdir/noe2.txt ~/desktop

Som vist i eksemplet nedenfor, ved å legge til -r flagg, brukeren kan laste ned kataloger rekursivt. I det følgende eksemplet laster brukeren ned Testdir/ katalog til det lokale Skrivebord/ katalog.

sftp -r [email protected]: Testdir/ ~/ Desktop

For å laste opp filer ved å utføre en enkelt kommando med SFTP, bruk syntaks nedenfor.

sftp @: <<< $'put '

I eksemplet nedenfor, det lokale File2 lastes opp til testdir/ katalog.

SFTP [email protected]: Testdir/ <<< $'put file2'

For å laste opp en katalog, legg til -r Alternativ ved hjelp av følgende syntaks

sftp -r @: <<< $'put '

I eksemplet nedenfor, Skrivebord/ Lokal katalog lastes opp til fjernkontrollen perl5/ katalog.

sftp -r [email protected]: Perl5/ <<< $'put Desktop'

Øke SFTP -sikkerheten med nøkkelgodkjenning

Som standard er SFTP -tilkoblinger trygge og beskyttet av SSH -protokollen.

Men en av risikoene er standard Passord -innloggingsmetode som en konsekvens av passordets svakhet, som inkluderer passordutveksling eller passorddelingskanaler, prosesser. Der passord kan bli lekket, for eksempel med et MIM (mann i midten) angrep etterfulgt av en vellykket beskrivelse.

Hvis serveren ikke er riktig konfigurert, kan pålogging av passord utsette systemet for angrep.

For å forhindre dette, er en god praksis for små og mellomstore nettverk å implementere SSH -nøkkelgodkjenning og deaktivere passordpålogging.

Implementering av SSH -nøkkelgodkjenning og deaktivering av passordpålogging

De sftp Sikkerhet gis av SSH -protokollen, hvis konfigurasjonsfil er /etc/ssh/sshd_config, Filbrukerne må redigere for å aktivere nøkkelautentisering og deaktivere passordpålogging blant flere alternativer for å forsterke sikkerhet.

På serveren som tillater innkommende tilkoblinger, rediger du /etc/ssh/sshd_config fil med privilegier ved å bruke en vanlig tekstredigerer som Nano eller vi.

sudo nano/etc/ssh/sshd_config

For å aktivere nøkkelautentisering, på serverdatamaskinen, åpner du /etc/ssh/sshd_config fil med privilegier og finn linjen som inneholder PubKeyAuthentication nr. Erstatt den med PubkeyAuthentication Ja (Bytt ut “Nei”Med“ja).

Bekreft også Tillatootlogin nr For å deaktivere rotpålogging.

De rot Bruker er til stede i alle UNIX -baserte systemer inkludert Linux. Det er en dårlig beslutning å tillate innlogging med et brukernavn med privilegier kjent av alle.

Ikke rediger alternativene for å deaktivere pålogging av passord ennå, fordi nøkkeldelingsprosessen krever passordgodkjenning før systemet er i stand til å autentisere med nøkler.

Avslutt konfigurasjonsfilen Lagre endringer og start SSH -tjenesten på nytt.

Debian -baserte Linux -distribusjoner:

sudo SystemCTL Restart SSH

Redhat -baserte Linux -distribusjoner:

sudo SystemCTL Restart SSH

På klientsiden, som ber om omfattende tilkoblinger, genererer du nøklerparet ved å utføre SSH-KeenGen kommando.

Prosessen ber om nøkkelkatalogbekreftelse, trykk TAST INN For å legge igjen standard lokale katalog (~/.SSH/ID_RSA) eller tilsvarende i Linux -distribusjonen. Prosessen vil tilby å inkludere en passfrase som skal kreves når du logger deg på. Ved å legge til en passordfrase kan sikkerheten økes. Det anbefales å skrive en og trykke på TAST INN. Hvis du ikke vil legge til en passfrase, bare trykk TAST INN uten å skrive det.

SSH-KeenGen

Nå må klienten dele nøkkelen med serveren med kommandoen SSH-Copy-ID Bruke syntaks for følgende eksempel.

SSH-Copy-Id [email protected]

Etter å ha delt nøkkelen, test nøkkelgodkjenningsmetoden ved å koble til serveren.

Hvis autentiseringen lykkes, vil brukeren logge inn uten passord. Hvis brukeren definerer en passordfrase, vil den bli bedt om i stedet for passordet som i eksemplet nedenfor.

SFTP @@

Etter å ha sjekket nøkkelgodkjenningsarbeidene, anbefales det på det sterkeste å deaktivere pålogging av passord.

På serversiden, Rediger filen /etc/ssh/sshd/config igjen med en tekstredigerer som Nano eller vi.

sudo nano/etc/ssh/sshd/config

Bla ned og bytt ut linjen PAsswordAuthentication Ja med PasswordAuthentication nr.

Start SSH -tjenesten på nytt.

sudo SystemCTL omstart SSHD

Redhat -baserte Linux -distribusjoner:

sudo SystemCTL Restart SSH

Nå økes autentiseringssikkerheten riktig.

Konklusjon

SFTP er et veldig nyttig verktøy for å dele filer mellom enheter og tilbyr to enkle modus. SFTP -protokollen kan installeres på hvert operativsystem, og tilbyr sikkerhet, pålitelighet og hastighet. Alternativt SCP Kommando tilbyr også pålitelighet, hastighet og sikkerhet og fungerer gjennom SSH -protokollen. Denne andre kommandoen ble også dypt forklart på Linux Hint (lenken ble gitt i introduksjonen av dette dokumentet).