Curso Raspberry Pi – #7 – Acesso Remoto VNC, Chaves SCP, RSA
Nas partes anteriores do curso, descrevemos várias maneiras que de se poder conectar ao Raspberry Pi. Hora de usar a nossa comunicação remota!
É hora de conhecer três ferramentas que tornam o trabalho com o Raspberry Pi mais conveniente. A partir de agora, a interface gráfica estará disponível para aqueles que não puderam fazer exercícios que exigem um monitor HDMI.
Conectar um rato, um teclado e monitor externo ao Raspberry Pi (veja a parte 4 do curso) é uma solução interessante, mas não prática. Ele funciona corretamente apenas quando quer tratar um Raspberry como um PC comum. A vantagem inquestionável dessa solução, no entanto, é o acesso à interface gráfica. A comunicação via UART (ver parte 5 do curso) pode nos salvar em muitas situações, mas a transmissão de informações é relativamente lenta.
É por isso que é melhor se acostumar a trabalhar na rede (veja a parte 6 do curso). Nós não precisamos de equipamentos adicionais, o Raspberry pode estar escondido num lugar, e podemos trabalhar nele como se ele estivesse ao nosso lado.
Antes de continuar, verifique se o seu Raspberry Pi está ligado e conectado à rede. Ativado também deve ser acessado via SSH. Todas essas informações foram descritas na parte anterior do curso.
Área de trabalho remota para Raspberry Pi – VNC
Trabalhar no modo de texto tem muitas vantagens. No entanto, para muitas pessoas, será mais conveniente se acostumar ao trabalho remoto se começarmos no modo gráfico. Isso também beneficiará aqueles que não tiveram acesso anteriormente ao monitor com HDMI.
O popular protocolo VNC (Virtual Network Computing) vem com a ajuda Graças a isso, será possível enviar uma foto do Raspberry Pi para o nosso computador. Esta será a mesma interface gráfica que veio anteriormente ao monitor. Noutras palavras, vamos transformar a tela do PC (ou laptop) numa tela virtual de Raspberry.
Ativação VNC
Primeiro, devemos efetuar login no Raspberry Pi no modo de texto e ativar o VNC. Estamos emitindo o comando conhecido por nós:
sudo raspi-config
Para o registro: sudo é o equivalente da opção “executar como administrador” conhecida do Windows. O parâmetro deste comando é o que queremos executar, ou seja, raspi-config.
Desta vez, estamos interessados na posição das Opções de Interfaces. Nós selecionamos com setas, digite-o com o localizador e vá para a opção VNC:
O último passo é confirmar que queremos iniciar o acesso via VNC. As teclas de seta movem-se para destacar o botão Sim em vermelho e clicam em entrar. No final, uma tela será exibida confirmando que o VNC iniciou o acesso.
Antes de deixarmos a opção, vale a pena ajustar a resolução da tela. No menu principal, selecione a opção Opções avançadas e, em seguida, Resolução:
A resolução padrão é de 720×480, o que funciona bem com telas pequenas de LCD. Esse valor, no entanto, não corresponde à resolução de monitores típicos. Mais importante ainda, alguns aplicativos gráficos, com um tamanho de janela muito pequeno, podem ser “cortados”. Como pode ver abaixo, com uma pequena resolução de tela, até a escolha de opções no menu será difícil:
Também não vale a pena uma resolução muito alta, porque pode introduzir problemas com o trabalho remoto (haverá longos atrasos). É bom começar com a opção do meio, ou seja: 1280x720px.
Instalação do cliente VNC
Quando o Raspberry Pi estiver reiniciando, podemos cuidar da preparação do nosso PC. Em teoria, qualquer VNC deve funcionar corretamente, mas a prática infelizmente mostra o contrário. Para evitar problemas, vale a pena usar o RealVNC recomendado.
Vale ressaltar que está disponível para vários sistemas operacionais, não apenas o Windows. Graças a isso, podemos trabalhar remotamente num Raspberry do nível do Linux, Mac OS X e até mesmo um telemóvel.
O programa é fácil de usar. Após o seu lançamento, digite o IP de Raspberry na barra superior:
Nós pressionamos enter, o login começará, durante o qual teremos que confirmar que definitivamente queremos nos conectar a este dispositivo:
Depois de um tempo, o desktop “Raspberry Pi” aparecerá no computador. Funcionará da mesma forma que foi feito com a conexão direta com o Raspberry. Esse método tem algumas limitações, mas voltaremos a isso noutras partes do curso.
Três, diferenças visíveis durante o trabalho por VNC são:
- ícone azul VNC (no canto superior direito do RPi),
- barra deslizante (na parte superior da tela) com opções RealVNC,
- possíveis atrasos (via conexão de rede fraca).
De agora em diante, podemos trabalhar remotamente em Raspberry Pi usando nosso computador. O monitor, o teclado e o rato funcionam. Portanto, não precisamos conectar o emaranhado de cabos ao Raspberry. Infelizmente, trabalhar mesmo na rede local causa alguns atrasos.
Acesso remoto a arquivos – SCP
Muitas vezes, precisamos copiar arquivos entre computadores. Podemos usar um disco de rede para essa finalidade ou podemos “executar” para o Raspberry Pi com um pen. Muito mais rápido será feito copiando dados diretamente entre computadores. Para este propósito, usaremos o protocolo SCP (cópia segura).
Os dados copiados com o SCP são codificados, portanto, seu conteúdo é seguro quando enviado pela rede!
Basta baixar e instalar o programa gratuito WinSCP:
Depois de lançar o programa, veremos uma janela de login. No campo Host name , insira IP, abaixo nós fornecemos username e password. Como protocolo, deveríamos ter selecionado o SFTP , e o número da porta permanece o mesmo que no caso do SSH, ou seja, 22. Após o login, seremos solicitados a confirmar se queremos conectar a este computador:
Depois de um tempo, teremos acesso aos arquivos do Raspberry Pi. À esquerda, pode ver os recursos do PC e, à direita, pode ver o Raspberry. De agora em diante, podemos arrastar, copiar e visualizar arquivos de uma maneira conveniente:
Estrutura do arquivo
O diretório inicial, que é o padrão após o login no Raspberry, é /home/pi . Os diretórios do usuário são salvos no diretório /home e pi é o nome do usuário padrão. No Linux, barras invertidas são usadas do que no Windows, então em vez de c:\Users\pi temos /home/pi.
O diretório raiz é a barra / (é chamado de raiz ou raiz-em).
A operação do WinSCP em si é simples e intuitiva, por isso não iremos escrever sobre isso. Vale a pena apenas prestar atenção a dois recursos característicos do sistema de arquivos Linux. Primeiro de tudo, letras pequenas e grandes são distinguidas. Então, forbot.txt e Forbot.txt são arquivos diferentes que podem estar presentes ao mesmo tempo:
A segunda questão são permissões. O acesso ao arquivo é determinado por três sinalizadores:
- acesso de leitura (r – read),
- acesso de escrita (w – write),
- o direito de correr (x – executar).
Direitos de acesso podem ser definidos para o proprietário, grupo e outros usuários. Nós voltaremos a este tópico no futuro.
Chaves RSA – sem mais senhas
Ao discutir a instalação do sistema através da rede, mostramos como se conectar com um Raspberry usando o programa PuTTy. Agora é hora de refinar este método – acesso sem precisar digitar uma senha. Do site do projeto PuTTy, estamos a fazer download do programa puttygen.
Nós não temos de mudar nenhuma opção. Tudo o que temos a fazer é pressionar Gerar. A geração de chaves está a demorar um pouco. O programa pede para você iniciar o rato – graças a isso, um elemento adicional de aleatoriedade é adicionado às chaves geradas.
Depois de um tempo, a nossa chave, ou mais precisamente um par de chaves, está pronta:
O que é RSA?
Criptografia RSA (Rivest Shamir Adleman) usa um par de chaves: uma chave pública e privada. A chave pública pode estar disponível publicamente , enquanto a chave privada só deve ser conhecida por pessoas que tenham acesso ao Raspberry.
As chaves estão relacionadas e não combinam com as outras!
Colocaremos a chave pública no Raspberry e o privado será salvo no computador. Graças a isso, quando nos conectamos com um Raspberry, o PuTTy usará nossa chave privada em vez da senha. Esta solução é ainda mais segura do que a senha – ninguém pode ver as teclas pressionadas no teclado.
Claro, a condição de segurança é que ninguém roube a nossa chave privada!
Para salvar a chave privada, clique em Salvar chave particular. O arquivo com a chave tem a extensão .ppk , nós o salvamos num lugar conhecido e seguro no disco. É um arquivo de texto.
Agora salvamos a chave pública, aqui não precisamos nos preocupar com segurança. Como antes, é um arquivo de texto. Estamos interessados na chave visível na parte superior da janela do programa. Começa com ssh-rsa e tem a forma, por exemplo:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmJoWjYd3vlWR0NYBQjILsNNRWjyoUsJHjISHIwWSVBvzkO5iDOPlgT51MyU4dvhb047T5vITUBFkTf1ggn8uY+k3/HXqfFHVEaeU429aOYLQdGYx1hyCEo4fQykSstf1kpn6fIexImwj/6JK9GH9sfh72/2iSLG2bsW2wO3ttMR9XbpmD3r7wYmNHxQ5EIaM/zKkBumHLMXEuqAlVmhizt5HxWihn0W+8VAyJRBaroYS2yoXDJLym4A68dM4/84eBKRXSICySe2oAyqtXk+pigfahPqtQuLE10RF0C3TMsu4DxDDZvSAB37P/1AgOvekGisg37bhQNQU4NnKSmCs9w== rsa-key-20171223
Instalação da chave RSA
A chave deve ser copiada para o arquivo /home/pi/.ssh/autorized_keys . Nós rodamos o WinSCP e vamos para o diretório inicial (/home/pi). Se nós não usamos as chaves para nos conectarmos via ssh anteriormente, precisamos de criar um novo diretório chamado .ssh (o ponto no começo significa o diretório oculto). Clique no Botão Direito do Mouse>Novo>Diretório, digite “.ssh” como nome e confirme a operação.
O diretório criado está oculto, por isso não pode ser visto por padrão!
Para que o WinSCP nos mostre diretórios ocultos, vá para Opções>Preferências>Painéis e selecione o “Mostrar catálogos ocultos”:
Depois de confirmar as configurações, novos catálogos, anteriormente ocultos, aparecerão. Entramos no .ssh criado por nós . Agora crie um novo arquivo, dê-lhe o nome de authorized_keys e cole os dados gerados anteriormente:
Nós transferimos o arquivo pronto com a chave para o diretório criado anteriormente:
Agora é o suficiente para se conectar com um Raspberry usando PuTTY e nossa chave privada. Os dados básicos da conexão (hostname, port, etc.) são idênticos à conexão com a senha.
Tudo o que precisamos fazer é selecionar Connection> SSH> Auth e clicar em Browse ao lado de Private key file for authentication. Nós indicamos a chave privada previamente salva. No final, na guia Session , vale a pena salvar as configurações. Digite o nome e clique no botão Salvar.
De agora em diante, basta clicar duas vezes no nome salvo. Um terminal será aberto no qual você será solicitado a digitar seu nome de usuário. A senha não será mais necessária:
Sumário
Nesta parte, vimos como trabalhar usando um desktop remoto através do VNC, aprendemos a copiar arquivos através do SCP e aprendemos os fundamentos da criptografia com uma chave pública baseada no RSA. Naturalmente, esse método de login é mais conveniente quando temos uma senha difícil definida. Então, não precisamos inserir uma longa sequência de caracteres sempre.
Graças aos materiais desta lição, todos podem aproveitar a interface gráfica. No próximo episódio do curso, vamos lidar com a ruína dos iniciantes, ou seja, trabalhar com uma interface de texto. É hora de conhecer o básico do “Linux real” na prática!
___________
O que achou deste artigo? Deixe o seu comentário abaixo, e partilhe nas Redes Sociais que certamente será útil e interessante para os seus amigos!
Curso Raspberry Pi – #1 – Introdução, Índice
Curso Raspberry Pi – #2 – O que é o Raspberry Pi?
Curso Raspberry Pi – #3 – Caixa, Dissipadores de Calor
Curso Raspberry Pi – #4 – Instalação do Sistema, Raspberry Pi como PC
Curso Raspberry Pi – #5 – Instalação / Comunicação Via UART
Curso Raspberry Pi – #6 – Instalação / Comunicação Através da Rede
Curso Raspberry Pi – #7 – Acesso Remoto VNC, Chaves SCP, RSA
Curso Raspberry Pi – #8 – O Básico do Linux
Curso Raspberry Pi – #9 – Processadores de Texto
Curso Raspberry Pi – #10 – Câmara, Fotos, Transmissão de Imagem
Curso Raspberry Pi – #11 – Filmes, Slowmotion, Timelapse
Curso Raspberry Pi – #12 – Noções Básicas sobre GPIO, Scripts
Curso Raspberry Pi – #13 – PWM, Entradas, Scripts com uma Câmara