1 of 41

Linux

Aula IV

Semana de Calouros 2025

Login: linux25X (X: 1-150)

Senha: Linux25#X

2025

2 of 41

Relembrando…

3 of 41

Comandos

  • touch - atualiza data de acesso ou cria novo arquivo
  • rm - remove arquivo/diretório
  • mv [arquivo] [destino] - move arquivo/diretório
  • man - mostra o manual do comando
  • cp - copia arquivo/diretório
  • less - lê o arquivo de forma interativa
  • cat - concatena e imprime o conteúdo do arquivo
  • sudo - usa os poderes do super usuário

4 of 41

Recomendações de programas

1.

5 of 41

Navegadores Web

Firefox

Chromium

Qutebrowser

6 of 41

Multimídia

VLC

Vídeos e músicas

Eye of GNOME

Imagens

sxiv

Imagens

7 of 41

Gerenciadores de arquivos

LF

Terminal

Files for GNOME

Gráfico

Nemo

Gráfico

8 of 41

Office documentos, planilhas e apresentações

LibreOffice

WPS

Google Docs

9 of 41

Pesquise sobre o Latex!

10 of 41

Lista de aplicações

wiki.archlinux.org/title/List_of_applications

11 of 41

Secure Shell

2.

12 of 41

Criptografia

  • Criptografia é uma área de estudo que visa desenvolver algoritmos para codificar mensagens de forma que sua transmissão seja segura em qualquer meio, i.e., apenas o destino consiga lê-la assim como o destinatário tenha garantia da origem da mensagem
  • Algoritmos de criptografia são utilizados nos mais diversos sistemas computacionais, e.g., sistemas bancários, https e ssh
  • 💡 Pesquise sobre criptografia simétrica e assimétrica

13 of 41

ssh secure shell

  • O Secure Shell é um protocolo de rede criptografado, sendo seguro para utilizar em redes públicas (não seguras)
  • É um protocolo TCP/IP na camada de aplicação, i.e., a mais alta
  • Com o ssh, é possível fazer login em uma máquina remota, assim, tendo acesso a um shell naquele computador
  • Utiliza a criptografia de chave pública, um algoritmo assimétrico
  • Além de abrir um shell em máquinas remotas, é possível, também, mover arquivos entre os computadores
  • 💡 Pesquise sobre o OpenSSH e criptografia de chave pública

14 of 41

Criptografia de chave pública

  • Uma chave pode ser aplicada numa mensagem, transformando ela numa mensagem criptografada (ex: olá mundo -> ahsdhajjnwbjb1io2ji0wvevji0ih0)
  • Para recuperar a mensagem original, é preciso aplicar uma outra chave, que faz o processo reverso (descriptografia)
  • Na criptografia de chave pública, cada pessoa tem duas chaves: uma chave pública (pode ser divulgada) e uma chave privada (deve ser guardada em segredo)
  • Essas chaves fazem o processo reverso da outra: se aplicarmos a chave privada da pessoa numa mensagem criptografada com a chave pública dela, conseguimos recuperar a mensagem original, e vice-versa

15 of 41

Criptografia de chave pública

  • Utilização para assinar mensagens

16 of 41

Criptografia de chave pública

  • Utilização para criptografar mensagens

Alice

Bob

Hello!

Bob’s public key

hsha9bvwkoje

Bob’s private key

Hello!

17 of 41

Criptografia de chave pública

  • Utilização para criptografar e assinar mensagens

Alice

Bob

Hello!

Bob’s public key

hsha9bvwkoje

Alice’s private key

ah9dqh94

Bob

ah9dqh94

Alice’s public key

hsha9bvwkoje

Bob’s private key

Hello!

18 of 41

ssh secure shell

  • A partir de uma shell local, cria outra shell em outra máquina de forma remota
    • comando: ssh <user>@<endereço>
    • conecta na porta 22 (TCP)

  • As principais máquinas do DInf
    • macalan - servidora de uso geral
    • orval - servidora para processamento que utiliza muitos recursos
    • cpu1 e cpu2 - servidoras para processamento genérico

19 of 41

Primeiro�acesso

20 of 41

scp secure file copy

  • Copia um arquivo local para uma máquina remota
    • comando: scp <arquivo> <user>@<endereço>:<caminho>

  • Copia um arquivo remoto para a máquina local
    • comando: scp <user>@<endereço>:<caminhoDoArquivo> <destinoLocal>

  • Busque usar caminhos absolutos ao executar o scp, vai te evitar problemas

21 of 41

Configuração do SSH

3.

22 of 41

config

  • Pode-se criar o arquivo ~/.ssh/config, contendo configurações gerais ou para determinados hosts
  • Por exemplo, caso você tenha que dar ssh na máquina com IP 200.17.202.3, é possível adicionar um alias, para que não seja necessário digitar o IP em toda conexão
  • No DInf, para acessar qualquer uma das máquinas dos labs é necessário antes acessar a macalan
  • Para contornar isso, é possível descrever uma máquina do lab no arquivo config, adicionando um ProxyJump na macalan, desta forma, irá automaticamente se conectar à maquina desejada

23 of 41

config

24 of 41

authorized_keys

  • Pode-se adicionar uma lista de chaves públicas permitidas no host em ~/.ssh/authorized_keys
  • Assim, ao utilizar o ssh no host utilizando o par de chaves cuja pública está no authorized_keys do destino, não será necessário digitar a senha do usuário, apenas a passphrase da chave privada, se houver

25 of 41

Exercício surpresa!!

  • O que estes comandos fazem?
    • sudo apt install curl
    • chmod g+r -R <dir>/
    • rm {1..10}
    • tar -czvf <dir>.tar.gz <dir>/

26 of 41

Criando chaves ssh

4.

27 of 41

Criando chaves ssh

  • Para criar um par de chaves (pública e privada) ssh, utiliza-se o comando ssh-keygen

ssh-keygen -t ed25519 -C "your_email@example.com"

Algoritmo de criptografia

E-mail

28 of 41

Criando chaves ssh

Algoritmo de criptografia

E-mail

29 of 41

Criando chaves ssh

  • Os arquivos das chaves serão criados no diretório ~/.ssh por padrão, com a chave pública possuindo a terminação “.pub”
  • A chave privada deve ser guardada com segurança, caso uma pessoa tenha acesso a ela e esta não foi encriptada com uma passphrase, poderá utilizá-la para acessar máquinas que não deveria
  • Se foi encriptada, é preciso saber a passphrase para usá-la

30 of 41

Criando chaves ssh

  • Exemplo de conteúdo das chaves pública e privada, respectivamente

31 of 41

sshfs

5.

32 of 41

mount & umount

  • Monta dispositivos (USB, HD externo, etc.) em um diretório para poder acessar os arquivos
  • Lembre-se, os dispositivos são representados como arquivos em /dev
  • Ex:
    • mkdir pendrive && mount /dev/sda1 pendrive
  • Geralmente, os SOs montam automaticamente
  • Após a utilização, por segurança, deve-se desmontar o dispositivo
  • Ex:
    • umount pendrive && rmdir pendrive

33 of 41

sshfs

  • Monta diretórios remotos de outras máquinas na máquina local
    • comando: sshfs <user>@<endereço>:<caminhoRemoto> <diretórioAlvo>

  • Use fusermount para desmontar o diretório
    • comando: fusermount -u <diretoŕio>

34 of 41

Comandos legais do ssh

6.

35 of 41

Comandos utilizados durante o ssh

  • whoami - mostra o nome do usuário no sistema
  • hostname - mostra o nome do sistema
  • who - mostra quem mais está conectado no sistema
  • finger - mostra os detalhes de um usuário no sistema

36 of 41

Exercício surpresa!!

  • O que estes comandos fazem?
    • rm ./*.csv
    • ls -l | grep ^d | awk '{print $NF}'
    • less <arquivoDeTexto>
    • du -hc <dir>

37 of 41

Exercício em sala

7.

38 of 41

Exercício

  1. Crie um arquivo com o nome da sua máquina (ex: h10) na sua home
  2. Dê permissão de leitura para os outros usuários (man chmod)
  3. Use scp para copiar o arquivo gerado da máquina do colega ao lado
  4. Copie o arquivo para a máquina do colega ao lado usando SCP

39 of 41

Exercício

$ wget https://www.inf.ufpr.br/dlpg21/linux/misterio.tar.gz

$ tar -xvf misterio.tar.gz

40 of 41

Avalie a aula

forms.gle/HW79o4aqmBqwEXdf7

Conta como presença!

41 of 41

Obrigado!

Obrigado!

pet.inf.ufpr.br

pet@inf.ufpr.br

@petcompufpr