Trabalhando com Arquivos de Forma Segura - Linux
Cópia Segura de Arquivos e scp
O comando scp
cp
scp
A cópia de um cliente para um host é feita da seguinte forma:
scp clientfile host:/hostfile
Este comando copia o arquivo clientfile
hostfile
Vale notar que antes de usar o comando scp
ssh
Por exemplo:
programicio@Programicio:~$ scp ~/Documents/hello.txt 192.168.0.116:/home/programicio/Documents/client.txt programicio@192.168.0.116's password: hello.txt 100% 1572 132.9KB/s 00:00 programicio@Programicio:~$
Aqui, eu copio do meu computador o arquivo ~/Documents/hello.txt
192.168.0.116
/home/programicio/Documents/client.txt
Se o login do host for diferente do login do cliente, o endereço do host deve incluir o nome de usuário no host:
scp ~/Documents/hello.txt programicio@192.168.0.116:/home/programicio/Documents/client.txt
A cópia reversa, do host para o cliente, é feita assim:
scp host:/hostfile clientfile
Aqui, o arquivo hostfile
clientfile
Por exemplo:
programicio@Programicio:~$ scp 192.168.0.116:/home/programicio/Documents/client.txt ~/Documents/hello2.txt programicio@192.168.0.116's password: client.txt 100% 1572 78.8KB/s 00:00 programicio@Programicio:~$
Neste caso, o arquivo /home/programicio/Documents/client.txt
192.168.0.116
~/Documents/hello2.txt
Outra funcionalidade importante do comando scp
-r
sftp: FTP Seguro
O comando sftp
sftp
: copia um arquivo do computador atual para outro.put
: copia vários arquivos do computador atual para outro.mput
: copia um arquivo de outro computador para o atual.get
: copia vários arquivos de outro computador para o atual.mget
O comando sftp
cd
put
mput
get
mget
sftp
192.168.0.116
sftp host
Neste caso, presume-se que o nome de usuário no cliente e no host são os mesmos. Se o nome de usuário no host for diferente, ele deve ser especificado antes do símbolo @
sftp programicio@host
Por exemplo:
programicio@Programicio:~$ sftp 192.168.0.116 programicio@192.168.0.116's password: Connected to 192.168.0.116. sftp>
Após isso, você verá o prompt do sftp
ls
cd
programicio@Programicio:~$ sftp 192.168.0.116 programicio@192.168.0.116's password: Connected to 192.168.0.116. sftp> ls -l drwxrwxr-x 3 programicio programicio 4096 Feb 18 16:47 Android drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Desktop drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:42 Documents drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Downloads drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Music drwxrwxr-x 3 programicio programicio 4096 Dec 6 2022 Pictures drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Public drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Templates drwxr-xr-x 2 programicio programicio 4096 Mar 20 13:33 Videos drwx------ 8 programicio programicio 4096 Feb 19 22:49 snap sftp>
A partir desse ponto, é possível transferir arquivos entre os dois computadores. Por exemplo, o comando a seguir usa sftp
Documents/client.txt
sftp> get Documents/client.txt Fetching /home/programicio/Documents/client.txt to client.txt client.txt 100% 1572 173.4KB/s 00:00 sftp>
Da mesma forma, o comando put
sftp> cd Documents sftp> pwd Remote working directory: /home/programicio/Documents sftp> put Documents/hello.txt Uploading Documents/hello.txt to /home/programicio/Documents/hello.txt hello.txt 100% 1572 187.5KB/s 00:00 sftp>
Aqui, primeiramente eu navego no host para a pasta Documents
put
Documents/hello.txt
sftp
put
Após concluir a transferência de arquivos, é usado o comando quit
exit
sftp
sftp> exit