GNU/Linux >> Znalost Linux >  >> Linux

Jak pracovat s SFTP klientem v Linuxu – 10 příkazů sftp

File Transfer Protocol je standardní komunikační protokol používaný pro přenos počítačových souborů ze serveru na klienta v počítačové síti.

FTP dnes není populární, protože postrádá zabezpečení. Když je soubor odeslán pomocí tohoto protokolu, data, uživatelské jméno a heslo jsou sdíleny v prostém textu, což znamená, že hacker může k těmto informacím přistupovat s minimálním nebo žádným úsilím. Aby byla data v bezpečí, musíte použít upgradovanou verzi FTP, jako je SFTP.

SFTP Secure File Transfer Protocol je protokol pro přenos souborů, který poskytuje bezpečný přístup ke vzdálenému počítači za účelem zajištění zabezpečené komunikace. Využívá SSH – Secure Socket Shell a je často také označován jako ‚Secure Shell File Transfer Protocol‘.

Související obsah

  • Jak nastavit server SFTP na serveru Debian 11
  • Stahování souborů ze serveru SFTP pomocí skriptu python
  • Seznam, nahrávání a stahování souborů ze serveru SFTP pomocí golang
  • Jak nastavit server SFTP na serveru OpenSUSE Leap 15.3
  • Jak nainstalovat a nastavit sftp server v Ubuntu 20.04
  • Jak nastavit server SFTP na serveru CentOS 8 /RHEL 8

Předpoklady

Chcete-li pokračovat, ujistěte se, že máte následující:

  • Server SFTP, ke kterému se lze připojit. Pokud chcete nastavit server, podívejte se na průvodce výše
  • Přihlašovací údaje pro připojení k serveru

Obsah

  1. Připojování k serveru SFTP
  2. Kontrola verze sftp
  3. Zobrazení vzdáleného pracovního adresáře
  4. Zobrazit pracovní adresář místního počítače
  5. Nahrajte soubory na server sftp
  6. Stahování souborů ze serveru sftp
  7. Vytvoření a odstranění adresáře na serveru sftp
  8. Odebrání souborů ze serveru sftp
  9. Přejmenování souborů na serveru sftp
  10. Kontrola využití souborů na serveru sftp
  11. Jak získat pomoc

1. Připojování k serveru SFTP

K otestování přihlášení k SFTP můžete použít terminál příkazového řádku. To lze dokonce provést lokálně na serveru sftp.

Toto je formát přihlašovacího příkazu:

sftp [user]@[host]

Pojďme se připojit k našemu serveru. budete potřebovat vaše uživatelské jméno a heslo SFTP.

sftp [email protected]

Výstup:

$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>

Tím se přihlásíte na server. Výchozí adresář je /home dir zadaný v ChrootDirectory /home v konfiguraci ssh serveru.

2. Kontrola verze SFTP

Pomocí příkazu version zkontrolujte verzi sftp.

sftp> version
SFTP protocol version 3
sftp>

3. Zobrazit vzdálený pracovní adresář

Pokud potřebujete zkontrolovat aktuální pracovní adresář na vzdáleném serveru, pwd Příkaz se hodí:

sftp> pwd
Remote working directory: /sftpuser1
sftp>

4. Zobrazit pracovní adresář místního počítače

Chcete-li zobrazit aktuální pracovní adresář místního systému, použijte lpwd příkaz.

sftp> lpwd
Local working directory: /home/ubuntu
sftp>

Vytvořený uživatel bude mít přístup pouze do svého adresáře. Přepněte se do tohoto adresáře pomocí následujícího příkazu:

sftp> cd sftpuser1
sftp>

Přejděte do domovského adresáře uživatele SFTP a zkuste vytvořit nový adresář následujícím způsobem:

sftp> ls
sftpuser1  ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir

5. Nahrajte soubory na server sftp

Udělejte to z místního prostředí

Nahrajte soubory na vzdálený server pomocí této syntaxe příkazu:

$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'

Příklad:

$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
Udělejte to ze serveru sftp

Použijte tyto příkazy: ls pro výpis souborů lls pro místní seznam put pro nahrávání souborů:

sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt  snap  tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt                                                            100%   32    25.8KB/s   00:00
sftp> ls
citizix.txt
sftp>

Chcete-li nahrát více souborů najednou, můžeme použít mput příkaz jako v příkladu níže. Můžete použít mput s regulárním výrazem jako data[23] nahrát data2data3 a ignorujte data1 . S mput můžete použít libovolný zástupný znak nebo regulární výraz .

sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1  data2  data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2                                                                  100%    0     0.0KB/s   00:00
Uploading data3 to /sftpuser1/data/data3
data3                                                                  100%    0     0.0KB/s   00:00
sftp> ls
data2  data3

6. Stahování souborů ze serveru sftp

Udělejte to z místního počítače

Chcete-li stáhnout soubor ze vzdáleného serveru, použijte níže uvedenou syntaxi příkazu:

$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}

Zde je ukázka stahování souboru na jednom řádku pomocí sftp:

# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt                                                 100%   32    26.7KB/s   00:00
Udělejte to ze vzdáleného serveru sftp

Stáhněte si jeden soubor ze serveru pomocí get . Příklad stahování data2

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>

Použijte mget stáhnout více souborů jako v tomto příkladu

sftp>
sftp> ls
data2  data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2  data3
sftp>

7. Vytvoření a odstranění adresáře na sftp serveru

Použijte příkazy mkdirrmdir k vytváření a odstraňování adresářů

sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>

8. Odstranění souborů ze serveru sftp

Použijte příkaz rm smazat soubory

sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>

9. Přejmenování souborů na sftp serveru

Použijte rename příkaz k přejmenování souborů

sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>

10. Kontrola využití souborového systému na sftp serveru

Zobrazte statistiky pro aktuální adresář nebo souborový systém obsahující ‚cestu‘, použijte příkaz df. Můžeme použít příznak -h k zobrazení statistiky ve formátu čitelném pro člověka. Upozorňujeme, že zobrazené statistiky se týkají příslušného souborového systému vzdáleného serveru SFTP, nikoli souborového systému místního počítače.

sftp> df
        Size         Used        Avail       (root)    %Capacity
    29540600      5917856     22103188     23622744          20%
sftp> df -h
    Size     Used    Avail   (root)    %Capacity
  28.2GB    5.6GB   21.1GB   22.5GB          20%

11. Získání nápovědy

Chcete-li získat nápovědu k dostupným příkazům a syntaxi pro SFTP, použijte „?“ nebo „help“.

sftp> ?

Výstup:

sftp> ?
Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
chgrp [-h] grp path                Change group of file 'path' to 'grp'
chmod [-h] mode path               Change permissions of file 'path' to 'mode'
chown [-h] own path                Change owner of file 'path' to 'own'
df [-hi] [path]                    Display statistics for current directory or
                                   filesystem containing 'path'
exit                               Quit sftp
get [-afpR] remote [local]         Download file
help                               Display this help text
lcd path                           Change local directory to 'path'
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
ln [-s] oldpath newpath            Link remote file (-s for symlink)
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
lumask umask                       Set local umask to 'umask'
mkdir path                         Create remote directory
progress                           Toggle display of progress meter
put [-afpR] local [remote]         Upload file
pwd                                Display remote working directory
quit                               Quit sftp
reget [-fpR] remote [local]        Resume download file
rename oldpath newpath             Rename remote file
reput [-fpR] local [remote]        Resume upload file
rm path                            Delete remote file
rmdir path                         Remove remote directory
symlink oldpath newpath            Symlink remote file
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Další informace naleznete na manuálové stránce sftp.

$ man sftp
Ukončit relaci SFTP

Nakonec můžete sftp ukončit pomocí byeexit nebo exit :

sftp> exit
$

Závěr

V této příručce jsme prozkoumali základní operace, které lze provádět na serveru SFTP


Linux
  1. Jak nastavit SFTP server na Arch Linuxu

  2. Jak pracovat s uživateli a skupinami v Linuxu

  3. Jak monitorovat zabezpečení serveru Linux pomocí Osquery

  1. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta

  2. Jak SCP z linuxového serveru na Windows klienta

  3. Vložte soubor s klientem tftp v Linuxu

  1. Jak vytvořit osobní souborový server s SSH na Linuxu

  2. Jak zaregistruji server Linux se serverem Windows DNS

  3. Jak nastavit linuxový server jako router s NAT