Ukaz sftp za Linux



ukaz sftp

Vklopljeno Unixu podoben operacijski sistemi, sftp ali je ukazna vrstica vmesnik za uporabo protokola varnega prenosa datotek SFTP. Gre za šifrirano različico FTP . Datoteke varno prenaša prek omrežne povezave.

Opis

Morda ste že seznanjeni s FTP: je zelo preprost in zelo negotovo za nalaganje ali nalaganje datotek prek omrežne povezave. Ne zagotavlja nobenega varnega šifriranje v seji ali pri prenosu podatkov.

sftp zagotavlja to funkcionalnost. Mislite na to kot na šifrirano različico ftp .

Opomba



Če morate datoteke prenesti čez anonimno FTP, sftp je ne program za uporabo. Ker vsi sftp povezave so šifrirane, zahtevajo uporabniško ime in geslo (ali preverjanje pristnosti z javnim ključem). Torej, za anonimne prenose FTP uporabite redno ftp .

Sintaksa

sftp izvaja vse operacije nad šifriranim ssh sejo. Uporablja številne funkcije ssh , kot sta preverjanje pristnosti javnega ključa in stiskanje podatkov.

Obstajajo štirje osnovni načini uporabe sftp , in sintaksa ukaza za vsako je navedena tukaj. (Za več informacij o vsaki možnosti in njenih možnih vrednostih glejte Razdelek z možnostmi , spodaj).

  1. Prvi je interaktivna seja . V tem načinu sftp se poveže in prijavi v določenega gostitelja, nato pa vstopi v njegov interaktivni način ukaza, kjer na poziv vnesete vse svoje ukaze. Za začetek interaktivne seje sftp , uporabite naslednjo skladnjo:

    sftp [-1246Cpqrv] [-B  buffer_size  ] [-b  batchfile  ] [-c  cipher  ] [-D  sftp_server_path  ] [-F  ssh_config  ] [-i  identity_file  ] [-l  limit  ] [-o  ssh_option  ] [-P  port  ] [-R  num_requests  ] [-S  program  ] [-s  subsystem  |  sftp_server  ]  host  
    Glej Interaktivni način za primer uporabe sftp Na ta način.

  2. Lahko tudi uporabite sftp za samodejno pridobivanje datotek brez kakršne koli pozvane interakcije:

    sftp [  user  @]  host  [:  file  ...]
    Glej Način samodejnega iskanja za primer uporabe sftp v to smer.

  3. Ali pa lahko poveš sftp za začetek interaktivne seje na določenem daljinskem upravljalniku imenik :

    sftp [  user  @]  host  [:  dir  [/]]
    Glej Zagon interaktivnega načina v določenem oddaljenem imeniku za primer uporabe sftp Na ta način.

  4. Nazadnje lahko s pomočjo datoteke -b možnost. Oznaka „b“ pomeni „paketni način“.

    Če želite uporabiti paketni način, morate konfigurirati neinteraktivno preverjanje pristnosti, kot je overjanje z javnim ključem, tako da vam ni treba ročno vnašati geslo . The sftp sintaksa tega načina je:

    sftp -b  batchfile  [  user  @]  host  
    Za primere uporabe paketnega načina in vodnik za nastavitev preverjanja pristnosti z javnim ključem glejte Šaržni način .

Opcije

Tu je opis vsake možnosti, navedene v zgoraj naštetih sintaksah ukazov.

-1 Navedite uporabo protokola različica 1, ki sega v leto 1997. Ta možnost zagotavlja združljivost z zelo starimi strežniki. Če niste prepričani, da jo potrebujete, ne določite te možnosti.
-dve Navedite uporabo protokola različice 2, ki sega v leto 1997. Ta možnost zagotavlja združljivost z zelo starimi strežniki. Če niste prepričani, da jo potrebujete, ne določite te možnosti.
-4 Sile sftp za uporabo samo naslovov IPv4.
-6 Sile sftp za uporabo samo naslovov IPv6.
-B buffer_size Določite velikost vmesnega pomnilnika, ki sftp uporablja pri prenosu datotek. Večji medpomnilniki zahtevajo manj povratnih potovanj, vendar za to potrebujejo več pomnilnika. Privzeto je 32768 bajtov .
-b batchfile Paketni način prebere vrsto ukazov iz vhodne paketne datoteke namesto stdin . Ker nima interakcije z uporabnikom, jo ​​je treba uporabljati skupaj z neinteraktivno overitvijo. Če batchfile je določeno kot pomišljaj (' - '), za serijo ukazov se prebere standardni vnos. sftp bo prekinil, če kateri od naslednjih ukazov ne bo uspel: dobili , dal , preimenuj , ln , rm , mkdir , chdir , ls , lchdir , chmod , chown , chgrp , lpwd , df , simbolna povezava , in lmkdir . Prekinitev napake lahko na osnovi ukaza onemogočimo tako, da pred ukazom predpišemo ' - 'znak (na primer, -rm / tmp / datoteka * ).
-C Omogoča stiskanje (prek ssh je -C zastava).
-c šifra Izbere šifro za šifriranje prenosa podatkov. Ta možnost je neposredno posredovana ssh .
-D sftp_server_path Povežite se neposredno z lokalno sftp strežnik (namesto prek ssh ). Ta možnost je lahko koristna pri odpravljanju napak odjemalca in strežnika.
-F ssh_config Določa nadomestno konfiguracijsko datoteko na uporabnika za ssh . Ta možnost je neposredno posredovana ssh .
-jaz datoteka_datoteke Izbere datoteko, iz katere se bere identiteta (zasebni ključ) za preverjanje pristnosti javnega ključa. Ta možnost je neposredno posredovana ssh .
-l meja Omejuje uporabljeno pasovno širino , določeno v Kbit / s.
-ali ssh_option Lahko se uporablja za posredovanje možnosti ssh v obliki, uporabljeni v ssh_config . To je uporabno za določanje možnosti, za katere ni ločenih sftp ukazna vrstica zastavo. Če želite na primer določiti nadomestno uporabo vrat: sftp -oPort = 24 .

NaslovDružina Določa, katero družino naslovov naj uporabi pri povezovanju. Veljavni argumenti so ' kaj ',' inet '(uporabite samo IPv4) ali' inet6 '(uporabite samo IPv6).
BatchMode Če je nastavljeno na ja ', poizvedovanje z geslom / geslom bo onemogočeno. Tudi ServerAliveInterval možnost bo nastavljena na 300 sekund privzeto. Ta možnost je uporabna pri skriptih in drugih paketnih opravilih, kjer ni uporabnika, ki bi priskrbel geslo, in kjer je zaželeno hitro odkriti prekinjeno omrežje. Argument mora biti ' ja 'ali' ne '. Privzeto je ' ne '.
BindAddress Kot izvorni naslov povezave uporabite navedeni naslov na lokalni napravi. Uporabno samo v sistemih z več kot enim naslovom. Upoštevajte, da ta možnost ne deluje, če UsePrivilegedPort je nastavljeno na ' ja '.
ChallengeResponseAuthentication Določa, ali naj se uporabi overjanje 'izziv-odgovor'. Argument te ključne besede mora biti ' ja 'ali' ne '. Privzeto je ' ja '.
CheckHostIP Če je ta zastavica nastavljena na ' ja ', ssh bo dodatno preveril naslov IP gostitelja v znani_hosti mapa. To omogoča ssh za zaznavanje, ali se je ključ gostitelja spremenil zaradi podvajanja DNS. Če je možnost nastavljena na ne ', preverjanje ne bo izvedeno. Privzeto je ' ja '.
Šifra Določa šifro za šifriranje seje v različici protokola 1. Trenutno je ' pihala ',' 3des 'in' od 'so podprti. od je podprt samo v ssh odjemalca za interoperabilnost s starejšimi izvedbami protokola 1, ki ne podpirajo 3des šifra. Zaradi kriptografskih slabosti se njegova uporaba močno odsvetuje. Privzeto je ' 3des '.
Šifre Določi šifre, dovoljene za različico protokola 2, po prednostnem vrstnem redu. Več šifer mora biti ločenih z vejico. Podprte šifre so ' 3des-cbc ',' aes128-cbc ',' aes192-cbc ',' aes256-cbc ',' aes128-ctr ',' aes192-ctr ',' aes256-ctr ',' arcfour128 ',' arcfour256 ',' arcfour ',' blowfish-cbc 'in' cast128-cbc '.

Privzeta vrednost je naslednji res dolg niz:

aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour
Stiskanje Določa, ali naj se uporabi stiskanje. Argument mora biti ' ja 'ali' ne '. Privzeto je ' ne '.
CompressionLevel Določa stopnjo stiskanja, ki jo je treba uporabiti, če je stiskanje omogočeno. Argument mora biti celo število od 1. (hitro) do 9. (počasnejše, vendar najboljše razmerje stiskanja). Privzeta raven je 6. , kar je dobro za večino aplikacij. Pomen vrednosti je enak kot v gzip . Upoštevajte, da ta možnost velja samo za različico protokola 1.
Poizkusi povezave Določa število poskusov (enega na sekundo), ki jih je treba izvesti pred izhodom. Argument mora biti celo število. To je lahko koristno za skripte, če povezava včasih ne uspe. Privzeto je 1. .
ConnectTimeout Določa časovno omejitev (v sekundah), ki se uporablja pri povezovanju s strežnikom SSH, namesto da bi uporabila privzeto časovno omejitev TCP. Ta vrednost se uporablja samo, če je cilj nedosegljiv ali resnično nedosegljiv, ne pa tudi, ko zavrne povezavo.
ControlMaster Omogoča skupno rabo več sej prek ene omrežne povezave. Ko je nastavljeno na ja ', ssh bo poslušal povezave na nadzorni vtičnici, določeni z ControlPath prepir. Dodatne seje se lahko povežejo s to vtičnico z isto ControlPath s ControlMaster nastavljena ' ne '(privzeto). Te seje bodo poskusile znova uporabiti omrežno povezavo glavnega primerka, namesto da bi sprožile nove, vendar se bodo vrnile k običajni povezavi, če nadzorna vtičnica ne obstaja ali ne posluša.

Če nastavite to na vprašajte bo povzročil ssh za poslušanje krmilnih povezav, vendar zahteva potrditev z uporabo SSH_ASKPASS pred sprejetjem. Če je ControlPath ni mogoče odpreti, ssh se bo nadaljeval brez povezave z glavnim primerkom.

X11 in ssh-agent posredovanje je podprto prek teh multipleksiranih povezav, vendar bo posredovani zaslon in agent tisti, ki pripada glavni povezavi, tj. ni mogoče posredovati več prikazov ali agentov.

Dve dodatni možnosti omogočata oportunistično multipleksiranje: poskusite uporabiti glavno povezavo, vendar se vrnite k ustvarjanju nove, če ta že ne obstaja. Te možnosti so: ' samodejno 'in' samodejno vprašanje '. Slednje zahteva potrditev, kot je vprašajte možnost.
ControlPath Določite pot do nadzorne vtičnice, ki se uporablja za skupno rabo povezave, kot je opisano v ControlMaster odsek zgoraj ali niz ' nobenega ', da onemogočite skupno rabo povezave. Na poti, ' % L 'bo nadomeščen s prvo komponento lokalnega ime gostitelja , ' % l 'bo nadomeščeno z lokalnim imenom gostitelja (vključno s katerim koli domenskim imenom),' % h 'bo nadomeščeno s ciljnim imenom gostitelja,' % n 'bo nadomeščeno z izvirnim ciljnim imenom gostitelja, ki je določeno v ukazni vrstici,' % p 'pristanišče,' % r 'z uporabniškim imenom za oddaljeno prijavo in' % u 'z uporabniškim imenom uporabnika, ki se izvaja ssh . Priporočljivo je, da katera koli ControlPath ki se uporabljajo za oportunistično izmenjavo povezav, vključujejo vsaj % h , % p , in % r . To zagotavlja, da so skupne povezave enolično identificirane.
ControlPersist Kadar se uporablja skupaj z ControlMaster , določa, da mora glavna povezava ostati odprta v ozadju (čakati na prihodnje odjemalske povezave) po zaprtju začetne odjemalske povezave. Če je nastavljeno na ne ', potem glavna povezava ne bo postavljena v ozadje in se bo zaprla takoj, ko se zapre prvotna odjemalska povezava. Če je nastavljeno na ja ', potem glavna povezava ostane v ozadju za nedoločen čas (dokler ne prekine ali zapre prek mehanizma, kot je ssh možnost ' -O izhod '). Če je nastavljen na čas v sekundah ali čas v kateri koli obliki zapisani v sshd_config , nato se glavna povezava v ozadju samodejno prekine, potem ko ostane določen čas v mirovanju (brez odjemalskih povezav).
GlobalKnownHostsFile Določa eno ali več datotek, ki jih je treba uporabiti za globalno bazo podatkov gostiteljskih ključev, ločenih s presledki. Privzeto je / etc / ssh / ssh_known_hosts , / etc / ssh / ssh_known_hosts2 .
GSSAPIAuthentication Določa, ali je dovoljeno preverjanje pristnosti uporabnika na podlagi GSSAPI (vmesnik aplikacijskega programa generične varnostne storitve). Privzeto je ' ne '. Upoštevajte, da ta možnost velja samo za različico protokola 2.
GSSAPIDlegateCredentials Posredujte (pooblastite) poverilnice strežniku. Privzeto je ' ne '. Upoštevajte, da ta možnost velja za povezave protokola različice 2, ki uporabljajo GSSAPI.
HashKnownHosts Označuje, da ssh bi morali hash imena gostiteljev in naslove, ko so dodani ~ / .ssh / znani_hosti . Ta zgoščena imena lahko uporabnik običajno uporablja ssh in sshd , vendar ne bodo razkrili identifikacijskih informacij, če bo razkrita vsebina datoteke. Privzeto je ' ne '. Upoštevajte, da se obstoječa imena in naslovi v znanih datotekah gostitelja ne bodo pretvorili samodejno, ampak jih bo mogoče ročno zgostiti z uporabo ssh-keygen generator ključev.

Uporaba te možnosti lahko prekine možnosti, kot je zapolnitev zavihkov, ki temeljijo na zmožnosti branja neokrnjenih imen gostiteljev ~ / .ssh / znani_hosti .
Voditelj Omeji naslednje izjave (do naslednje Voditelj ključna beseda) samo za tiste gostitelje, ki se ujemajo z enim od vzorcev, podanimi za ključno besedo. Če je na voljo več vzorcev, jih je treba ločiti s presledki. Samski ' * 'kot vzorec lahko uporabimo za globalne privzete vrednosti za vse gostitelje. Gostitelj je argument imena gostitelja, podan v ukazni vrstici (tj. Pred ujemanjem se ime ne pretvori v kanonizirano ime gostitelja).

Vnos vzorca lahko zavrnemo, tako da ga predpišemo z klicaj (' ! '). Če se zavrnjeni vnos ujema, se vnos gostitelja prezre, ne glede na to, ali se ujemajo kateri koli drugi vzorci v vrstici. Zavrnjene ujemanja so zato koristna za izjeme za nadomestne tekme.
Preverjanje pristnosti na osnovi gostitelja Določa, ali naj poskusi rhosts preverjanje pristnosti na osnovi overjanja z javnim ključem. Argument mora biti ' ja 'ali' ne '. Privzeto je ' ne '. Ta možnost velja samo za različico protokola 2 in je podobna Rhosts RSAAuthentication .
HostKeyAlgorithms Določa algoritme gostiteljskih ključev različice protokola 2, ki jih želi odjemalec uporabiti po prednostnem vrstnem redu. Privzeto za to možnost je naslednji res zelo dolg niz:

[e-pošta zaščitena], [e-pošta zaščitena], [e-pošta zaščitena], [e-pošta je zaščitena], [e-pošta je zaščitena], [e-pošta je zaščitena], [e-pošta je zaščitena], ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2 -nistp521, ssh-rsa, ssh-dss

Če gostiteljske tipke so znani kot ciljni gostitelj, potem je ta privzeta nastavitev prilagojena njihovim algoritmom.
HostKeyAlias Določa vzdevek, ki ga je treba uporabiti namesto pravega imena gostitelja, ko iščete ali shranjujete gostiteljski ključ v datotekah baze podatkov gostiteljskega ključa. Ta možnost je uporabna za tuneliranje SSH povezav ali za več strežnikov, ki se izvajajo na enem gostitelju.
Ime gostitelja Določa pravo ime gostitelja, v katerega se želite prijaviti. S tem lahko določite vzdevke ali okrajšave za gostitelje. Če ime gostitelja vsebuje zaporedje znakov ' % h ', potem bo to nadomeščeno z imenom gostitelja, ki je določeno v ukazni vrstici (to je koristno za manipulacijo nekvalificiranih imen). Privzeto je ime, navedeno v ukazni vrstici. Dovoljeni so tudi številčni naslovi IP (tako v ukazni vrstici kot v Ime gostitelja specifikacije).
IdentityFile Določi datoteko, iz katere se prebere uporabnikova identiteta za preverjanje pristnosti DSA, ECDSA ali DSA. Privzeto je ~ / .ssh / identiteta za različico protokola 1 in ~ / .ssh / id_dsa , ~ / .ssh / id_ecdsa in ~ / .ssh / id_rsa za različico protokola 2. Poleg tega bodo za preverjanje pristnosti uporabljene vse identitete, ki jih predstavlja agent za preverjanje pristnosti. ssh (1) bo poskušal naložiti podatke o potrdilu iz imena datoteke, pridobljene z dodajanjem -cert.pub na pot določenega IdentityFile .

Ime datoteke lahko uporablja naglasni znak sintaksa, ki se nanaša na uporabnikov domači imenik ali eno od naslednjih pobeg znaki: ' % d '(domači imenik lokalnega uporabnika),' % u '(lokalno uporabniško ime),' % l '(lokalno ime gostitelja),' % h '(ime oddaljenega gostitelja) ali' % r '(oddaljeno uporabniško ime).

V konfiguracijskih datotekah je mogoče določiti več datotek identitete; vse te identitete bodo preizkušene v zaporedju. Večkraten IdentityFile direktive bodo dodane na seznam preizkušenih identitet (to se razlikuje od ostalih konfiguracijskih direktiv).
IdentitiesOnly To določa ssh naj uporabljajo samo identifikacijske datoteke za preverjanje pristnosti, konfigurirane v ssh_config datoteke, tudi če ssh-agent ponuja več identitet. Argument te ključne besede mora biti ' ja 'ali' ne '. Ta možnost je namenjena situacijam, ko ssh-agent ponuja veliko različnih identitet. Privzeto je ' ne '.
IPQoS Določa vrsto storitve IPv4 ali razred DSCP za povezave. Sprejete vrednosti so ' af11 ',' af12 ',' af13 ',' af21 ',' af22 ',' af23 ',' af31 ',' af32 ',' af33 ',' af41 ',' af42 ',' af43 ',' cs0 ',' cs1 ',' cs2 ',' cs3 ',' cs4 ',' cs5 ',' cs6 ',' cs7 ',' ef ',' lowdelay ',' pretočnost ',' zanesljivost 'ali številčna vrednost. Ta možnost ima lahko en ali dva argumenta, ločena s presledki. Če je podan en argument, se brezpogojno uporablja kot razred paketov. Če sta navedeni dve vrednosti, se prva samodejno izbere za interaktivne seje in druga za neinteraktivne seje. Privzeto je ' lowdelay 'za interaktivne seje in' prepustnost 'za neinteraktivne seje.
KbdInteractiveAuthentication Določa, ali naj se uporablja interaktivno preverjanje pristnosti s tipkovnico. Argument te ključne besede mora biti ' ja 'ali' ne '. Privzeto je ' ja '.
KbdInteractiveDevices Določa seznam načinov za interaktivno preverjanje pristnosti s tipkovnico. Več imen metod je treba ločiti z vejico. Privzeto je uporaba seznama, ki ga določi strežnik. Razpoložljive metode se razlikujejo glede na to, kaj strežnik podpira. Za OpenSSH strežnika, je lahko nič ali več: ' bsdauth ',' pam 'in' skey '.
KexAlgorithms Določa razpoložljive algoritme KEX (izmenjava ključev). Več algoritmov mora biti ločenih z vejico. Privzeto je naslednji zelo dolg niz:

ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman- skupina1-sha1
Nivo dnevnika Podaja raven podrobnosti, ki se uporablja pri prijavi sporočil iz ssh . Možne vrednosti so: TIH , FATAL , NAPAKA , INFO , VERBOZA , DEBUG , DEBUG1 , DEBUG2 , in DEBUG3 . Privzeto je INFO . DEBUG in DEBUG1 so enakovredni. DEBUG2 in DEBUG3 vsak določi višje ravni podrobnega izpisa.
MAC-ji Določa algoritme MAC (koda za preverjanje pristnosti sporočila) po prednostnem vrstnem redu. Algoritem MAC se uporablja v protokolu različice 2 za zaščito integritete podatkov. Več algoritmov mora biti ločenih z vejico. Privzeto je naslednji niz:

hmac-md5, hmac-sha1, [e-pošta zaščitena], hmac-ripemd160, hmac-sha1-96, hmac-md5-96, hmac-sha2-256, hmac-sha2-256-96, hmac-sha2-512, hmac -sha2-512-96
NoHostAuthenticationForLocalhost To možnost lahko uporabite, če je domači imenik v skupni rabi med napravami. V tem primeru se localhost sklicuje na drug stroj na vsakem od računalnikov in uporabnik bo prejel veliko opozoril o spremenjenih gostiteljskih ključih. Vendar ta možnost onemogoči overjanje gostitelja za localhost. Argument te ključne besede mora biti ' ja 'ali' ne '. Privzeto je preveriti gostiteljski ključ za localhost.
NumberOfPasswordPrompts Določa število pozivov za geslo pred opuščanjem. Argument te ključne besede mora biti celo število. Privzeto je 3. .
PasswordAuthentication Določa, ali naj se uporabi overjanje z geslom. Argument te ključne besede mora biti ' ja 'ali' ne '. Privzeto je ' ja '.
PKCS11Dobavljač Določa, katerega ponudnika PKCS # 11 (Standard Key Cryptography Standard številka 11) uporabiti. Argument te ključne besede je knjižnica v skupni rabi PKCS # 11 ssh naj uporablja za komunikacijo z žetonom PKCS # 11, ki zagotavlja uporabnikov zasebni RSA ključ.
Pristanišče Določa številko vrat za povezavo na oddaljenem gostitelju. Privzeto je 22. .
PreferredAuthentications Določa vrstni red, v katerem naj odjemalec preizkusi metode overjanja protokola 2. To stranki omogoča, da raje izbere eno metodo (npr. tipkovnica interaktivna ) nad drugo metodo (npr. geslo ). Privzeto je:

gssapi-z-mikrofonom, na osnovi gostitelja, javna tipka, interaktivna tipkovnica, geslo
Protokol Določa različice protokola ssh mora podpirati po prednostnem vrstnem redu. Možne vrednosti so ' 1. 'in' dva '. Več različic mora biti ločenih z vejico. Ko je ta možnost nastavljena na ' 2.1 ' ssh bo poskusil različico 2 in se vrnil na različico 1, če različica 2 ni na voljo. Privzeto je ' dva '.
ProxyCommand Določa ukaz za povezavo s strežnikom. Ukazni niz se razteza do konca vrstice in se izvaja z lupino uporabnika. V ukaznem nizu je vsak pojav ' % h 'bo za povezavo nadomeščeno z imenom gostitelja,' % p 's strani pristanišča in' % r 'z oddaljenim uporabniškim imenom. Ukaz je lahko v bistvu karkoli in ga je treba brati s standardnega vhoda in pisati na standardni izhod. Sčasoma bi moral povezati sshd strežnik, ki se izvaja na nekem računalniku, ali ga zaženite sshd -i nekje. Upravljanje ključa gostitelja bo izvedeno s pomočjo Ime gostitelja gostitelja, ki je povezan (privzeto za ime, ki ga vnese uporabnik). Nastavitev ukaza na ' nobenega 'to možnost v celoti onemogoči. Upoštevajte to CheckHostIP ni na voljo za povezave z ukazom proxy.

Ta direktiva je uporabna v povezavi z nc in podporo za proxy. Na primer, naslednja direktiva bi se povezala prek strežnika HTTP na 192.0.2.0 :

ProxyCommand / usr / bin / nc -X connect -x 192.0.2.0:8080% h% p
PubkeyAuthentication Določa, ali naj poskusi preverjanje pristnosti z javnim ključem. Argument te ključne besede mora biti ' ja 'ali' ne '. Privzeto je ' ja '. Ta možnost velja samo za različico protokola 2.
RekeyLimit Določa največjo količino podatkov, ki se lahko pošlje pred ponovnimi pogajanji o ključu seje. Argument je število bajtov z neobvezno pripono ' TO ',' M 'ali' G ', da označite kilobajt, megabajt oziroma gigabajt. Privzeto je med ' 1G 'in' 4G ', odvisno od šifre. Ta možnost velja samo za različico protokola 2.
Rhosts RSAAuthentication Določa, ali naj se preizkusi preverjanje pristnosti na osnovi rhosts z overjanjem gostitelja RSA. Argument mora biti ' ja 'ali' ne '. Privzeto je ' ne '. Ta možnost velja samo za različico protokola 1 in zahteva ssh biti postavljen koren .
RSAAuthentication Določa, ali naj se poskusi preveriti pristnost RSA. Argument te ključne besede mora biti ' ja 'ali' ne '. Preverjanje pristnosti RSA se bo poskusilo le, če datoteka identitete obstaja ali če se izvaja agent za preverjanje pristnosti. Privzeto je ' ja '. Upoštevajte, da ta možnost velja samo za različico protokola 1.
SendEnv Določa, katere spremenljivke iz lokalnega okolja je treba poslati strežniku. Upoštevajte, da je posredovanje okolja podprto samo za protokol 2. Strežnik ga mora tudi podpirati in strežnik mora biti konfiguriran tako, da sprejema te spremenljivke okolja. Spremenljivke so določene z imenom, ki lahko vsebuje nadomestni znak znakov. Več spremenljivk okolja je lahko ločenih s presledki ali razporejenih po več SendEnv direktiv. Privzeto ni pošiljanje nobenih spremenljivk okolja.
ServerAliveInterval Nastavi interval zakasnitve v sekundah, po katerem, če strežnik ni prejel nobenih podatkov, ssh bo po šifriranem kanalu poslal sporočilo, da od strežnika zahteva odgovor. Privzeto je 0 , kar pomeni, da ta sporočila ne bodo poslana strežniku, ali 300 če je BatchMode možnost je nastavljena. Ta možnost velja samo za različico protokola 2. ProtocolKeepAlives in SetupTimeOut so vzdevki združljivosti, specifični za Debian za to možnost.
ServerAliveCountMax Nastavi število aktivnih sporočil strežnika (glejte spodaj), ki jih je mogoče poslati brez ssh prejemanje sporočil nazaj s strežnika. Če je ta prag dosežen med pošiljanjem sporočil strežnika, ssh bo prekinila povezavo s strežnikom in prekinila sejo. Pomembno je omeniti, da se uporaba sporočil živih sporočil zelo razlikuje od uporabe TCPKeepAlive . Sporočila strežnika v živo se pošiljajo po šifriranem kanalu in jih zato ni mogoče zamenjati. Možnost ohranjanja TCP, ki jo omogoči TCPKeepAlive je spoofable. Mehanizem strežnika za življenje je dragocen, če sta odjemalec ali strežnik odvisna od tega, kdaj je povezava postala neaktivna.

Privzeta vrednost je 3. . Če na primer ServerAliveInterval (glej spodaj) je nastavljena na petnajst in ServerAliveCountMax ostane privzeto, če se strežnik ne odziva, ssh se bo odklopil po približno 45 sekundah. Ta možnost velja samo za različico protokola 2; v različici protokola 1 ni mehanizma, ki bi zahteval odziv strežnika na živa sporočila strežnika, zato je za povezavo odgovoren sklad TCP.
StrictHostKeyChecking Če je ta zastavica nastavljena na ' ja ', ssh nikoli ne bo samodejno dodal gostiteljskih ključev v ~ / .ssh / znani_hosti datoteko in se noče povezati z gostitelji, katerih gostiteljski ključ se je spremenil. To zagotavlja največjo zaščito pred napadi trojanskih konj, čeprav je lahko moteče, ko / etc / ssh / ssh_known_hosts datoteka slabo vzdrževana ali kadar se pogosto vzpostavljajo povezave z novimi gostitelji. Ta možnost uporabnika prisili, da ročno doda vse nove gostitelje. Če je ta zastavica nastavljena na ' ne ', ssh bo samodejno dodal nove gostiteljske ključe uporabniško znanim datotekam gostiteljev. Če je ta zastavica nastavljena na ' vprašajte ', bodo novi gostiteljski ključi dodani uporabniško znanim gostiteljskim datotekam šele potem, ko bo uporabnik potrdil, da to resnično želi storiti, in ssh se bo zavrnil povezavo z gostitelji, katerih gostiteljski ključ se je spremenil. Gostiteljski ključi znanih gostiteljev bodo v vseh primerih samodejno preverjeni. Argument mora biti ' ja ',' ne 'ali' vprašajte '. Privzeto je ' vprašajte '.
TCPKeepAlive Določa, ali naj sistem pošlje sporočila o ohranjanju TCP na drugo stran. Če jih pošljemo, bomo pravilno opazili smrt povezave ali zrušitev enega od strojev. Ta možnost uporablja samo vzdrževalne programe TCP (v nasprotju z uporabo ssh -evevel keepalives), zato traja dolgo, da opazimo, kdaj povezava umre. Kot taki verjetno želite ServerAliveInterval možnost tudi. To pa pomeni, da bodo povezave umrle, če bo pot začasno propadla, in nekaterim je to moteče.

Privzeto je ' ja '(za pošiljanje sporočil o vzdrževanju TCP), odjemalec pa bo opazil, če se omrežje prekine ali oddaljeni gostitelj umre. To je pri scenarijih pomembno in mnogi uporabniki si ga tudi želijo.

Če želite onemogočiti sporočila o vzdrževanju TCP, morate vrednost nastaviti na ' ne '.
UsePrivilegedPort Določa, ali naj se za odhodne povezave uporablja privilegirana vrata. Argument mora biti ' ja 'ali' ne '. Privzeto je ' ne '. Če je nastavljeno na ja ', ssh mora biti setuid root. Upoštevajte, da mora biti ta možnost nastavljena na ' ja 'za Rhosts RSAAuthentication s starejšimi strežniki.
Uporabnik Določa uporabnika za prijavo. To je lahko koristno, če se na različnih računalnikih uporablja drugačno uporabniško ime. To prihrani težave, ker si morate v ukazni vrstici zapomniti uporabniško ime.
UserKnownHostsFile Določa eno ali več datotek, ki jih je treba uporabiti za bazo podatkov uporabniškega gostiteljskega ključa, ločene s presledki. Privzeto je ~ / .ssh / znani_hosti , ~ / .ssh / znani_hosti2 .
VerifyHostKeyDNS Določa, ali naj se oddaljeni ključ preveri z zapisi virov DNS in SSHFP. Če je ta možnost nastavljena na ' ja ', bo odjemalec implicitno zaupal ključem, ki se ujemajo z varnim prstnim odtisom iz DNS. Nevarni prstni odtisi bodo obravnavani, kot da bi bila ta možnost nastavljena na ' vprašajte '. Če je ta možnost nastavljena na ' vprašajte ', bodo prikazane informacije o ujemanju prstnih odtisov, vendar bo uporabnik vseeno moral potrditi nove gostiteljske ključe v skladu z možnostjo StrictHostKeyChecking. Argument mora biti ' ja ',' ne 'ali' vprašajte '. Privzeto je ' ne '. Upoštevajte, da ta možnost velja samo za različico protokola 2.
-P pristanišče Določa pristanišče za povezavo z oddaljenim gostiteljem.
-p Ohrani čas sprememb, čas dostopa in načine izvirnih prenesenih datotek.
-q Tihi način: onemogoči merilnik napredka ter opozorila in diagnostična sporočila ssh .
-R število_zahtevkov Navedite, koliko zahtev je lahko hkrati nerešenih. Če to povečate, se lahko nekoliko izboljša hitrost prenosa datotek, poveča pa se poraba pomnilnika. Privzeto je 64 neporavnane zahteve.
-r Med nalaganjem in prenosom rekurzivno kopirajte celotne imenike. Upoštevajte to sftp ne sledi simbolično povezave med drevesnim prehodom.
-S program Ime programa za šifrirano povezavo. Program mora razumeti ssh opcije.
-s podsistem | sftp_server Določa SSH2 podsistem ali pot za sftp strežnik na oddaljenem gostitelju. Pot je uporabna za uporabo sftp nad različico protokola 1 ali ko je daljinski upravljalnik sshd nima sftp podsistem konfiguriran.
-v Dvignite sečnja ravni. Tudi ta možnost je posredovana ssh .

Interaktivni način

V interaktivnem načinu sftp vas prijavi v oddaljeni sistem in vas postavi v poziv, ki je podoben ukaznemu pozivu v vašem lokalnem sistemu. Ponuja vam omejen, a zelo uporaben nabor ukazov, s katerimi lahko krmarite po oddaljenem datotečnem sistemu ter pošiljate in prejemate datoteke.

Recimo, da želite začeti interaktivno sftp sejo na strežniku z imenom ' server.myhost.com '. Recimo, da je vaš uporabniški račun vklopljen server.myhost.com se imenuje ' uporabnik '. V ukazni vrstici sistema lahko sejo začnete z ukazom:

sftp [email protected] 

Ali pa, če je vaše uporabniško ime na vašem lokalno sistem je tudi ' uporabnik ', lahko vnesete:

sftp server.myhost.com

... in vaše uporabniško ime ' uporabnik 'bo samodejno poslano kot uporabniško ime.

Strežnik se bo odzval tako, da vas bo vprašal za geslo:

 [email protected] 's password:

... in če ga pravilno vnesete, boste prejeli sporočilo 'povezani ste' in sftp poziv, kot je ta:

Connected to server.myhost.com. sftp> 

Zdaj se lahko v datotečnem sistemu premikate z CD imenik ', seznam datotek z' ls ', prenesite datoteke z' dobili Ime datoteke 'in naložite datoteke z' dal Ime datoteke '. Precej je enak interaktivnemu ftp sejo, le da je šifrirana in varna.

Ko končate, se lahko odjavite s adijo 'command (' izhod 'tudi deluje) in sftp bo izstopil.

Tu je seznam ukazov, ki jih lahko uporabite v interaktivnem načinu:

Ukazi v interaktivnem načinu

adijo Zaprite sejo in končajte sftp . Enako kot ' izhod '.
CD pot Spremenite oddaljeni delovni imenik v pot .
chgrp grp pot Spremeni skupino datotek pot do grp .

pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami. grp mora biti številčni GID (ID skupine).
chmod pot načina Spremenite dovoljenja datoteke pot do način .

pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami.
chown lastna pot Spremeni lastnika datoteke pot do lastno .

pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami.

lastno mora biti številski UID (ID uporabnika).
df [ -hi ] [ pot ] Prikaz informacij o uporabi datotečnega sistema, ki vsebuje trenutni imenik (ali pot če je določeno). Če je -h zastava določena, bodo podatki o zmogljivosti prikazani s priponami, 'berljivimi za človeka'. The -jaz zastava zahteva prikaz informacij o inode poleg informacij o zmogljivosti. Ta ukaz je podprt samo na strežnikih, ki izvajajo razširitev [[email protected] '.
izhod Zaprite sejo in končajte sftp . Enako kot ' adijo '.
dobili [ -PPR ] oddaljena pot [ lokalna pot ] Pridobi oddaljena pot in ga shranite na lokalni stroj. Če ime lokalne poti ni določeno, dobi isto ime kot na oddaljeni napravi.

oddaljena pot lahko vsebuje nadomestne znake in je morda navedena matcal-path lokalna pot mora določiti imenik.

Če je -P ali -p zastava je določena, nato se kopirajo tudi celotna dovoljenja za datoteke in časi dostopa.

Če je -r zastava je določena, potem bodo imeniki kopirani rekurzivno . Upoštevajte to sftp pri rekurzivnih prenosih ne sledi simbolnim povezavam.
pomoč Prikažite sporočilo o pomoči.
lcd pot Spremenite lokalni delovni imenik v pot .
lls [ls-options [pot]] Prikažite seznam imenikov lokalnega imenika pot ali lokalni delovni imenik, če pot ni določeno.

ls-options lahko vsebuje kakršne koli zastavice, ki jih podpira lokalni sistem ls ukaz.

pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami.
lmkdir pot Ustvarite imenik v lokalnem sistemu, ki ga določi pot .
ln [ -s ] stara pot nova pot Ustvari povezavo od stara pot do nova pot . Če je -s zastava je določena, ustvarjena povezava je simbolična povezava, sicer pa trda povezava.
lpwd Natisnite ime lokalca delovni imenik .
ls [ -1afhlnrSt ] [ pot ] Prikaže seznam oddaljenih imenikov pot ali trenutni imenik, če pot ni določeno. pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami.

Naslednje zastavice spremenijo vedenje ls :

-1 Prikažite seznam v enem stolpcu.
-do Seznam datotek, katerih imena se začnejo s piko (' . '), ki sicer ne bi bila navedena.
-f Ne razvrsti seznam. Privzeti vrstni red razvrščanja je leksikografski.
-h Kadar se uporablja skupaj z -l ali -n Možnosti (ki ustvarijo seznam v dolgem formatu), ta možnost določa pripone enote 'berljive človeku' za velikosti datotek. Na primer, namesto ' 4096 'bytes, ta možnost bo navedla velikost kot' 4.0K '.
-l Ustvarite seznam dolgega formata, ki prikazuje dodatne podrobnosti o datoteki, vključno z dovoljenji in podatki o lastništvu.
-n Ustvari seznam v dolgem formatu, kot je -l možnost, vendar s številčnimi informacijami o uporabnikih in skupinah.
-r Obrnite vrstni red razvrščanja seznama.
-S Razvrstite seznam po velikosti datoteke, največji do najmanjši.
-t Razvrstite seznam po času zadnje spremembe, od najnovejšega do najstarejšega.
lumaska umask Nastavite lokalno umask do umask .
mkdir pot Ustvari imenik v oddaljenem sistemu, ki ga določi pot .
napredek Preklopi prikaz merilnika napredka.
dal [ -PPR ] lokalna pot [ oddaljena pot ] Naloži lokalna pot in ga shranite na oddaljeni napravi. Če ime oddaljene poti ni določeno, dobi isto ime kot na lokalnem računalniku.

lokalna pot lahko vsebuje nadomestne znake in se lahko ujema z več datotekami. Če se, in oddaljena pot je določeno, potem oddaljena pot mora določiti imenik.

Če je -P ali -p zastava je določena, nato se kopirajo tudi celotna dovoljenja za datoteke in časi dostopa.

Če je -r zastava je določena, potem bodo imeniki kopirani rekurzivno. Upoštevajte to sftp ne sledi simbolne povezave pri izvajanju rekurzivnih prenosov.
pwd Prikaže ime oddaljenega delovnega imenika.
prenehati Prenehati sftp .
preimenuj stara pot nova pot Preimenujte oddaljeno datoteko iz stara pot do nova pot .
rm pot Izbrišite oddaljeno datoteko, ki jo je določil pot .
rmdir pot Odstranite oddaljeni imenik, ki ga je določil pot .
simbolna povezava stara pot nova pot Ustvarite simbolno povezavo do stara pot imenovan nova pot .
različico Prikažite sftp različica protokola.
! ukaz Izvedite ukaz ukaz v lokalni lupini.
! Spustite se v lokalno lupino. Tip izhod da se vrnete v sftp sejo.
? Enako kot ' pomoč '.

Opombe:

  • Ukazi v interaktivnem načinu ne razlikujejo med velikimi in malimi črkami, zato ni pomembno, ali jih črkujete z velikimi ali malimi črkami (ali kombinacijo obeh). Imena datotek pa še vedno razlikujejo med velikimi in malimi črkami.
  • Vsa imena datotek ali imenikov, ki vsebujejo presledke, morajo biti v narekovajih, sicer jih bo strežnik razlagal kot ločena imena.

Način samodejnega iskanja

V tem načinu lahko določite natančno ime datoteke (ali datotek), ki jo želite pridobiti v sftp sam ukaz. Na primer, če želite dobiti datoteko documents / portfolio.zip z oddaljenega strežnika files.myhost.com (kjer je vaše uporabniško ime moje ime ), lahko uporabite ukaz:

sftp [email protected] :documents/portfolio.zip

Ko zaženete ta ukaz, sftp se bo povezal z files.myhost.com vas vpraša za geslo in ko bo preverjena pristnost, bo poskušal prenesti datoteko documents / portfolio.zip . Ker na začetek imena imenika nismo dali poševnice, bo iskal dokumentov v domačem imeniku na strežniku. Če najde portfolio.zip , ga bo prenesel.

Rezultat bo videti tako:

Fetching /home/myname/documents/portfolio.zip to portfolio.zip 

...in potem sftp bo izstopil. Določite lahko tudi mesto datoteke, ki jo želite prenesti. Na primer, ta ukaz:

sftp [email protected] :documents/portfolio.zip /tmp

... se bo prenesel portfolio.zip v vaš / tmp imenik. Lahko pa določite povsem drugo ime za preneseno datoteko:

sftp [email protected] :documents/portfolio.zip /tmp/portfolio-new.zip

... in na izhodu bo navedeno novo ime datoteke:

Fetching /home/myname/documents/portfolio.zip /tmp/porfolio-new.zip

V imenu datoteke lahko določite tudi nadomestne znake, na primer:

sftp [email protected] :documents/*.zip

... in sftp bo prenesel vse datoteke s pripono .zip v dokumentov oddaljeni imenik. V izhodnih podatkih bo vsaka datoteka navedena v svoji vrstici, takole:

Fetching /home/myname/documents/portfolio.zip to portfolio.zip Fetching /home/myname/documents/resume.zip to resume.zip Fetching /home/myname/documents/profile-pic.zip to profile-pic.zip

Zagon interaktivnega načina v določenem oddaljenem imeniku

Včasih je bolj priročno začeti sejo interaktivnega načina neposredno iz določenega oddaljenega imenika. To lahko storite tako, da ga navedete v ukazni vrstici:

sftp [email protected] :documents/budget/april/
 [email protected] 's password: Connected to files.myhost.com. Changing to: /home/myname/documents/budget/april/ sftp>

Šaržni način

Možno je tudi teči sftp na popolnoma scenarij. To se imenuje paketni način , in vam omogoča nastop sftp prenaša brez kakršne koli interakcije na tipkovnici. To je na primer koristno, če želite v a cron ali enkratni načrtovani prenos z uporabo ob ukaz.

Ker pa je paketni način popolnoma neinteraktiven, pri povezovanju s strežnikom ne omogoča vnosa uporabniškega imena in gesla. Če želite uporabiti paketni način, se boste morali prijaviti samodejno. Običajni način za to in najbolj varen je uporaba preverjanje pristnosti javnega ključa . Pojdiva hitro na to.

Nastavitev overjanja javnega ključa

Preverjanje pristnosti javnega ključa vam omogoča varno prijavo v oddaljeni strežnik brez vnašanja gesla. Najprej v lokalnem sistemu ustvarite dva ključa: zasebni in javni. Nato kopirate besedilo javnega ključa na oddaljeni strežnik. Po tem, dokler imate na lokalnem računalniku zasebni ključ, se lahko v oddaljeni računalnik prijavite brez vnosa gesla.

Če želite to narediti, je prvi korak ustvariti javni in zasebni ključ.

Ključi bodo v imeniku .ssh v domačem imeniku v lokalnem sistemu. Najprej preverite, ali je .ssh imenik že obstaja:

ls -d ~/.ssh 

To bo vrnilo ime imenika:

/home/username/.ssh 

... ali vam povem, da ne obstaja:

ls: cannot access /home/username/.ssh: No such file or directory

Če ne obstaja, ga moramo ustvariti pred naslednjim korakom:

mkdir ~/.ssh

Nato se moramo prepričati, da ima ta imenik pravilna dovoljenja. Zagotoviti želite, da ste edina oseba, ki lahko dostopa do tega imenika (bere, piše in izvaja). Za imenik je osmiška vrednost tega datotečnega načina 700 . Spremenimo dovoljenja za naše .ssh imenik:

chmod 700 ~/.ssh

Zdaj moramo sami ustvariti ključe. Program, ki se uporablja za ustvarjanje parov ključev za ssh protokol ssh-keygen . Zaženite ga v ukazni vrstici brez možnosti:

ssh-keygen

Pozval vas bo k informacijam, ki jih potrebuje za generiranje ključev. Uporabite vse privzete vrednosti (pritisnite Enter ob vsakem pozivu).

Opomba

Eden od pozivov vas bo vprašal za geslo, ki ponuja dodatni nivo varnosti na vrhu šifriranega zasebnega ključa. Tu bomo geslo pustili prazno. Če želite s svojim ključem uporabiti geslo, uporabite program, imenovan ssh-agent za nalaganje ključa v pomnilnik; tako boste lahko uporabili ključ, zaščiten z geslom, ne da bi ga morali vnesti več kot enkrat.

Izhod iz ssh-keygen bo videti nekako takole:

Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): Created directory '/home/username/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub. The key fingerprint is: d4:7b:66:c4:e6:ba:78:87:e7:23:08:c7:0d:d7:b0:7f [email protected] The key's randomart image is: +--[ RSA 2048]----+ | | | ... | | . .P+ | | .. o=. | | ...S+.e= | | . o .=. E | | o ... . | | ..e.+.+ | | ...=.. | +-----------------+

Dobili boste celo lepo umetniško delo, ki predstavlja vaš javni ključ, ki ga lahko natisnete in obesite na steno, če želite.

Vaši ključi so zdaj ustvarjeni. Dve datoteki sta, id_rsa in id_rsa.pub . Spremeniti moramo tudi dovoljenja za te datoteke, tako da do njih ne more dostopati nihče, razen vas (branje, pisanje in izvajanje). Osmiška vrednost teh bitov dovoljenj je 700 .

chmod 700 ~/.ssh/id_rsa*

In se prepričajte, da je v imeniku nastavljen enak bit dovoljenj:

chmod 700 ~/.ssh

Zdaj ssh na strežnik. Recimo, da se imenuje myhost.com :

ssh [email protected] 

Vnesite geslo in se prijavite. Ko ste v ukaznem pozivu strežnika, preverite, ali je .ssh tam obstaja. Na strežniku:

ls -d ~/.ssh

Če ne obstaja, ga ustvarite in mu podelite ustrezna dovoljenja, tako kot v vašem lokalnem sistemu. Na strežniku:

mkdir ~/.ssh
chmod 700 ~/.ssh

Enako za pooblaščene_ključke mapa. Najprej preverite, ali obstaja. Na strežniku:

ls ~/.ssh/authorized_keys

Če se ne, ga ustvarite. Lahko uporabiš dotik da ustvarite prazno datoteko. Na strežniku:

touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh/authorized_keys

Če imenik in datoteka že obstajata, ju ni treba ustvariti. Kakor koli že, ko enkrat veš ~ / .ssh / pooblaščene_ključke datoteka obstaja, se lahko iz strežnika odjavite:

logout

Kar vas bo vrnilo v lokalni sistemski ukazni poziv.

Zdaj morate vstaviti vsebino lokalne datoteke javnega ključa ( ~ / .ssh / id_rsa.pub , ki ste ga ustvarili prej ssh-keygen ) v datoteko ~ / .ssh / pooblaščene_ključke na strežniku.

Vsebina te datoteke je v eni zelo dolgi vrstici (brez prelomov). To lahko pogledate sami z mačka ukaz:

cat ~/.ssh/id_rsa.pub

... in bo videti nekako takole:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTiP0LXi74qgpp6VBqzro67QOGtum10 t2epYsOm6kKncf62JVMSlwYH7QwAskxkA6ripvo+TlwRBqqLaF2ACX4CivQkoabqsdFAd uGcKVICUFZaexUmw2eIEKF4qCOvRDP/Juol1S+ID1glYJRSqDcmAb3jApTRDMXM/w7Tl3 qz5/cp3MINKM3+apBfe7F7iDezjQ/U0HqtH2+Np83u4X2G+LIFnpV0RdalkqCuM6tSv2C m4FdPazsIwSmFptBKnw00IdIqYpnkQmOJMk47cGDzqczii7KMCy3wRNqkaLwefRB0MZeJ ipz4+a27kQEqerAIHt37/MMT5XNqn3mqbI [email protected] 

To vrstico besedila je treba umestiti v pooblaščene_ključke datoteko na vašem strežniku, v svoji vrstici. To lahko storite na več načinov: besedilo lahko kopirate v lokalni strežnik, datoteko odprete z urejevalnikom besedil na strežniku in jo prilepite v svojo vrstico. Lahko pa uporabite program z imenom ssh-copy-id , ki je del privzete vrednosti ssh namestitev na številne sisteme. Vendar ga bomo tukaj dodali neposredno datoteki z uporabo ssh sama.

Če je vaše oddaljeno uporabniško ime moje uporabniško ime in ime vašega strežnika je myhost.com , zagnali bi ta ukaz:

cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> ~/.ssh/authorized_keys'

Ta poganja mačka ukaz v datoteki z javnim ključem, pripelje izhod v ssh , ki sprejme ta vnos in ga doda neposredno v pooblaščene_ključke datoteko na oddaljenem računalniku.

Zdaj je vaš javni ključ nameščen na strežniku, zato se lahko prijavite brez gesla in izvedete paket sftp sej.

Opomba

Če vas strežnik še vedno prosi za geslo, ko se poskušate prijaviti, preverite, ali je konfiguracija demona ssh strežnika, ki je privzeto v / etc / ssh / sshd_config , vsebuje naslednji dve vrstici:

RSAAuthentication yes PubkeyAuthentication yes

Ti so del privzete konfiguracije, zato vam jih v konfiguracijski datoteki ne bi bilo treba dodajati, nastavljati ali odstranjevati komentarjev. Vendar so potrebni za preverjanje pristnosti z javnim ključem. Če ne deluje, je to prvo mesto, ki ga morate preveriti.

Izvajanje seje paketnega sftp

Za zagon serije sftp sejo, ustvarite besedilno datoteko, ki vsebuje zaporedje ukazov sftp, ki se izvajajo na strežniku, pri čemer je vsak ukaz v svoji vrstici. Na primer, če želite avtomatizirati nalaganje niza klicanih datotek image01.jpg , image02.jpg ... v imenik na oddaljenem strežniku z imenom slike v domačem imeniku lahko ustvarite besedilno datoteko z imenom mybatch.txt ki vsebuje naslednje ukaze:

cd images put image*.jpg

Nato bi paket izvedli z naslednjim ukazom:

sftp -b mybatch.txt [email protected] 

... in sftp bo izpisal rezultate ukazov, na primer:

sftp> cd images sftp> put image*.jpg Uploading image01.jpg to /home/myname/images/image01.jpg Uploading image02.jpg to /home/myname/images/image02.jpg Uploading image03.jpg to /home/myname/images/image03.jpg

Po izvedbi vseh ukazov (uspešno ali ne), sftp se bo odjavil in vas vrnil v ukazno vrstico.

Primeri

sftp myhost.com

Ta ukaz poskuša sprožiti interaktivno sejo sftp s strežnikom myhost.com . Ime, uporabljeno za prijavo, bo enako uporabniškemu imenu, s katerim ste zagnali ukaz. Ko ste uspešno prijavljeni, boste videli sporočilo, podobno spodnjemu, skupaj z sftp> ukazni poziv:

Remote system type is UNIX. Using ASCII mode to transfer files. sftp>
sftp [email protected] 

Enako kot zgornji ukaz, vendar se poskuša prijaviti z uporabniškim imenom fred .

sftp [email protected] :/home/fred/images

Poskusi zagnati interaktivnost sftp sejo s strežnikom myhost.com , z uporabo imena fred za prijavo. Po uspešni prijavi začnete sejo v imeniku / home / fred / images .

sftp [email protected] :/home/fred/images/picture.jpg

Poskusi prenosa datoteke /home/fred/images/picture.jpg s strežnika myhost.com z uporabniškim imenom fred Če datoteka obstaja, bo prenesena v lokalni delovni imenik in nato sftp bo izstopil.

kje so shranjeni vsi vaši dokumenti
sftp -b batch.txt [email protected] 

Poskusi izvrševanja ukazov sftp v besedilni datoteki batch.txt , na strežniku myhost.com , kot je poimenoval uporabnik fred . Ukazi v datoteki batch.txt mora biti naveden po en v vrstico. Za začetek seje morata biti strežnik in lokalni odjemalec konfigurirana tako, da za prijavo ni potreben vnos s tipkovnice; glej Nastavitev overjanja javnega ključa zgoraj za več informacij.

Primeri interaktivnih ukazov

Naslednje primere lahko zaženete iz sftp> po zagonu interaktivne seje. Glej Ukazi v interaktivnem načinu zgoraj za celoten seznam interaktivnih ukazov in možnosti.

pwd

Natisne ime oddaljenega delovnega imenika.

lpwd

Natisne ime lokalnega delovnega imenika.

ls

Navedite vsebino oddaljenega delovnega imenika.

lls

Navedite vsebino lokalnega delovnega imenika.

cd documents

Spremeni oddaljeni delovni imenik v podimenik dokumentov .

lcd documents

Spremeni lokalni delovni imenik v podimenik dokumentov .

get mydocs.zip

Prenesite oddaljeno datoteko mydocs.zip v lokalni delovni imenik.

get mydocs.zip /home/fred

Prenesite oddaljeno datoteko mydocs.zip v lokalni imenik / domov / fred . Če imenik / domov / fred ne obstaja, sftp bo poskusil datoteko prenesti v lokalni imenik / domov in ga poimenujte fred .

Opomba

sftp ne prepozna naglasni znak bližnjica za domače imenike (' ~ '), zato morate uporabiti celo ime domačega imenika, če ga določite v sftp .

get mydocs.zip /home/fred/downloaded-docs.zip

Prenesite oddaljeno datoteko mydocs.zip v lokalni imenik / domov / fred , kar mu je dalo novo ime prenesen-docs.zip po prenosu.

mkdir documents

Ustvari imenik dokumentov v oddaljenem delovnem imeniku.

put documents.zip

Naložite lokalno datoteko documents.zip v oddaljeni delovni imenik.

put /home/fred/documents/documents.zip /home/fred/documents/mydoc.zip

Naložite lokalno datoteko /home/fred/documents/documents.zip v oddaljeni imenik / domov / fred / dokumenti , preimenovanje mydoc.zip po nalaganju.

put /home/fred/images/image*.jpg /home/fred/images

Naložite vse datoteke v lokalni imenik / home / fred / images čigar ime se začne z slike , in se konča v priponi .jpg , v oddaljeni imenik / home / fred / images .

rename /home/fred/file.txt /home/fred/newfile.txt

Preimenujte oddaljeno datoteko /home/fred/file.txt , ki mu daje ime newfile.txt .

rm /home/fred/newfile.txt

Izbrišite oddaljeno datoteko /home/fred/newfile.txt .

!commandname option1 option2

Zaženite ukaz ukazno ime možnost1 možnost2 v lokalnem sistemu, ne da bi se odklopili od sftp sejo.

bye

Odklopite od sftp sejo in prenehajte sftp .

ftp - Izvedite interaktivno sejo FTP prek varne omrežne povezave.
slogin - Varno se prijavite v oddaljeni sistem.