Como configurar seu Raspberry Pi para Shell remoto, desktop e transferência de arquivos
Então você tem um Raspberry Pi e você gostaria de maximizar sua minúscula pegada, transformando-se em uma caixa totalmente independente - sem monitor, teclado ou outros periféricos de entrada. Continue lendo enquanto mostramos como configurar o acesso remoto a shell, desktop e transferência de arquivos em seu Pi.
Por que eu quero fazer isso??
O Pi, mesmo vestido em um estojo robusto, é um pequeno computador. É perfeito para colocar em algum lugar fora da vista sem um bando de fios saindo dele - para muitos projetos você simplesmente não precisa de um monitor permanente e acompanhamento periférico..
que não faz Quer dizer, no entanto, que você não precisará se conectar à caixa para fazer alterações, atualizar coisas, transferir arquivos e assim por diante. Um exemplo perfeito disso é o pequeno indicador de chuva que construímos como parte do nosso Construir um Indicador LED com um artigo de Raspberry Pi (para E-mail, Tempo ou Qualquer Coisa). Ele não precisa de todas essas coisas anexadas diretamente a ele, mas ainda assim gostaríamos da capacidade de pular no dispositivo e fazer alterações facilmente ou experimentar novos experimentos com o módulo LED sem ter que arrastá-lo de volta para a oficina, e conecte-o a um monitor, teclado, mouse, etc. Ao configurá-lo para shell remoto, área de trabalho remota e transferência remota de arquivos, tornamos super simples interagir sempre com nossa unidade Pi a partir do conforto de nosso computador desktop como se estivéssemos ligou a unidade a uma estação de trabalho completa.
O que eu preciso?
Se você é novato em trabalhar com o Raspberry Pi, sugerimos fortemente que você consulte o guia HTG Getting Started with Raspberry Pi para obter informações sobre os fundamentos do dispositivo e obter a velocidade.
Para este tutorial, você precisará das seguintes coisas:
- Um, framboesa, pi, executando, Raspbian.
- Um computador desktop ou laptop.
- Uma rede local com fio ou Wi-Fi para conectar o Pi e seu computador.
Primeiro, a maioria das etapas deste tutorial deve funcionar com outras distribuições Pi baseadas em Linux. mas vamos usar o Raspbian. Você deve ter poucos problemas para adaptar o tutorial a outras distribuições.
Em segundo lugar, estamos usando uma máquina Windows como nosso computador em rede para interagir com a unidade Raspberry Pi como a cabeça / interface remota. Quando apropriado, faremos o melhor possível para criar links para tutoriais e sugestões de leitura relacionadas à execução de tarefas e ferramentas paralelas no OS X e no Linux.
Configurando e Conectando-se ao Servidor SSH
O acesso à linha de comando remota para a sua instalação Raspbian é o pequeno ajuste que você pode fazer em seu sistema, e é bem simples ativar.
Abra o terminal em Rasbian, o atalho é o LXTerminal na área de trabalho e digite o seguinte comando:
sudo raspi-config
Navegue para baixo para ssh e aperte enter. Quando solicitado sobre o servidor SSH, selecione Habilitar e aperte enter novamente. Você retornará ao painel Raspi-config; navegue até Terminar e aperte enter para fechar a ferramenta de configuração. É tudo o que você precisa fazer para ativar o acesso SSH ao seu Pi. O login e senha SSH padrão é pi e framboesa, respectivamente.
Enquanto você ainda está sentado na linha de comando, agora é um ótimo momento para verificar o IP da sua unidade Raspberry Pi na rede local. Tipo ifconfig no prompt e, em seguida, observe a saída do comando. Se você estiver usando a porta Ethernet que você deseja procurar init addr no eth0 seção; se você estiver usando Wi-Fi, você quer procurar o init addr no wlan0 seção. Além de verificar e anotar o endereço IP, esse também é um ótimo momento para configurar uma entrada de IP estático em seu roteador para que você não precise procurar o IP no futuro.
Agora que temos o servidor SSH ativado, sabemos o login e sabemos o endereço IP da máquina, é hora de se conectar via SSH e testá-lo. Para fazer isso no Linux e no OS X, você pode simplesmente usar o ssh comando no terminal. Usuários do Windows, no entanto, precisarão de um cliente SSH como o PuTTY.
Como estamos usando uma caixa do Windows para gerenciar remotamente nosso Pi, o PuTTY é. Instale uma cópia do PuTTY ou extraia a versão portátil e inicie-a. tem muito de configurações que você pode mexer no PuTTY, mas só precisamos nos preocupar com uma única coisa para se conectar ao nosso Pi. Na interface principal da Session, basta digitar o endereço IP do seu Pi e selecionar SSH abaixo dela:
Acertar Abrir na parte inferior e PuTTY irá iniciar uma janela de terminal para você, conectar-se ao seu Pi, e solicitar que você faça o login. Vá em frente e faça o login com pi / framboesa:
Uma vez que sua conexão SSH esteja funcional, você pode tecnicamente concluir o restante deste tutorial remotamente a partir do conforto de sua mesa, embora aconselhamos deixar a cabeça e o teclado em seu sistema até que você termine o projeto inteiro e tenha tudo funcionando perfeitamente..
Antes de prosseguirmos, há algumas funcionalidades extras que podemos extrair do SSH. Além de gerenciar a linha de comando remotamente, você também pode transferir arquivos remotamente usando o Secure Copy. É linha de comando intensivo e não é particularmente conveniente para transferir um grande número de arquivos provenientes de vários diretórios, mas para uma transferência de arquivo de configuração única ou outro pequeno despejo, é bastante útil. Confira nosso guia para copiar arquivos via SSH usando o comando SCP aqui.
Nós estaremos olhando mais de perto técnicas de transferência de arquivos mais fáceis de usar / baseadas em GUI mais tarde no tutorial.
Configurando e configurando sua área de trabalho remota
O acesso à linha de comando remota é impressionante, mas também está tendo acesso à área de trabalho para atividades focadas na GUI. Vamos trazer os poderes da linha de comando e os poderes da área de trabalho juntos.
Embora estejamos nos referindo a ele como "área de trabalho remota" até o momento, a ferramenta que estamos realmente instalando é conhecida como "Virtual Network Computing (VNC)", com as quais muitos estão familiarizados, como RealVNC e TightVNC. Para este tutorial, vamos instalar o TightVNC no Pi. Para acessar a sessão TightVNC baseada em Pi, você precisará de um cliente remoto como:
- Cliente de desktop TightVNC para Windows
- Cliente de desktop TightVNC para sistemas Linux / Unix-like
- Cliente de desktop RealVNC para OSX
Pegue uma cópia agora, e nós estaremos trotando mais tarde nesta seção. Por enquanto, vamos começar a instalar o servidor TightVNC no seu Raspberry Pi. Abra o terminal. Digite o seguinte comando para começar:
sudo apt-get install tightvncserver
Isto irá baixar e descompactar os arquivos de instalação; quando solicitado a continuar, pressione Y. Após a conclusão da instalação, você retornará ao prompt. Você pode iniciar o VNC de duas maneiras. Simplesmente executando o comando para o servidor da seguinte forma:
tightvncserver
Solicitará que você digite uma senha para acessar sua área de trabalho VNC, como visto na imagem acima. A senha precisa ter 4 a 8 caracteres. Depois de confirmar a senha, você será solicitado a definir uma senha somente para visualização (você pode optar por sair da etapa, como fizemos).
Alternativamente, você pode usar um comando muito mais preciso, embora mais longo, que lhe dê mais controle sobre como o computador remoto verá a área de trabalho - o mais importante, qual resolução a área de trabalho exibirá para que você possa desfrutar de uma visualização em tela cheia o computador remoto. Para especificar a resolução da área de trabalho do VNC, use o comando a seguir, trocando o valor de resolução (o quarto item no comando) pela resolução da área de trabalho remota:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Se a qualquer momento você cometer um erro ao configurar sua instância do servidor VNC e / ou quiser desligar o servidor VNC, basta digitar o seguinte (mudando o número após os dois pontos para o número da instância VNC que você quer matar) :
vncserver-kill: 1
Agora que temos o servidor VNC instalado e funcionando, vamos nos conectar a ele em nossa área de trabalho remota. Abra o visualizador TightVNC no seu computador e conecte o endereço IP da unidade Raspberry Pi seguido por: 1 como:
E aqui está a nossa recompensa por configurar com sucesso o nosso servidor VNC - uma bela visualização em tela cheia da nossa unidade remota Raspberry Pi:
Há um problema conhecido com o TightVNC e o Rasbian que, graças a uma mudança de permissão instável, causará problemas com a área de trabalho real monitorada (deixando a interface de desktop remota fornecida pelo servidor VNC intocada). Para corrigir esse problema antes que ele se torne um problema para você, vá direto para a linha de comando e digite o seguinte comando:
sudo chown pi /home/pi/.Xauthority
Este comando altera a propriedade do arquivo .Xauthority de volta para o usuário pi-para o curioso, o arquivo .Xauthority é usado pelo sistema X-windows em Rasbian e alguma coisa durante o processo de instalação e configuração do servidor TightVNC faz com que pequenas permissões soluçam.
Com esse pequeno desvio pelo caminho, voltemos a terminar nossa configuração de área de trabalho remota.
Agora que temos acesso total à linha de comando e ao desktop para o Raspberry Pi, há um ajuste não tão trivial que precisamos fazer. A ferramenta Raspi-config configura o servidor SSH para iniciar automaticamente na inicialização para nós, mas o servidor VNC ainda não está configurado dessa maneira. Você pode pular esta etapa e iniciar manualmente o servidor na linha de comando via SSH quando precisar, mas estamos tentando tornar isso o mais fácil possível para uso futuro. Vamos dar um minuto agora e criar um arquivo de inicialização para o servidor VNC.
Para iniciar automaticamente o servidor VNC, precisamos configurar um arquivo init ou de inicialização que o Raspbian use para iniciar e encerrar o servidor de forma limpa durante o processo de inicialização e desligamento. Vamos criar o arquivo init agora. Na linha de comando, digite o seguinte comando:
sudo nano /etc/init.d/tightvnc
Isso criará um arquivo no diretório de inicialização chamado “tightvnc” e abrirá o editor nano para que possamos colar nosso script. No editor nano, cole o código a seguir (lembre-se de alterar o valor de resolução de 1600 x 900 para corresponder à tela do seu computador remoto:
#! / bin / sh
### BEGIN INIT INFO
# Fornece: tightvncserver
# Necessário-Início:
# Parada obrigatória:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Breve descrição: start vnc server
# Descrição:
### END INIT INFOcaso "$ 1" em
começar)
su pi -c 'vncserver: 1 -geometria 1600 × 900 -depth 16 -pixelformat rgb565:'
eco “VNC Started”
;;
Pare)
pkill Xtightvnc
eco “VNC terminado”
;;
*)
echo “Uso: /etc/init.d/tightvnc start | stop”
sair 1
;;
esac
Além de modificar a parte de resolução de tela do script, há outra coisa que você pode modificar. Na linha 14 você pode alterar o comando “su pi -c” para qualquer outra conta de usuário além de “pi” se você desejar VNC para a área de trabalho específica para essa conta.
Depois de colar e modificar o código, é hora de salvá-lo. Pressione CTRL + X para sair e salvar seu trabalho no nano. Quando estiver de volta à linha de comando, precisamos fazer algumas alterações rápidas nas permissões do arquivo:
sudo chmod 755 /etc/init.d/tightvnc
Agora o arquivo de inicialização é executável. Podemos testá-lo a partir do prompt:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
A última alteração que vamos fazer é atualizar o arquivo rc.d (que rastreia quais scripts de inicialização estão na pasta /init.d/):
sudo update-rc.d tightvnc padrões
Depois de inserir esse comando, você receberá uma confirmação de que o arquivo foi atualizado. Agora é hora do teste real: o arquivo carrega corretamente após a reinicialização? Digite o seguinte na linha de comando para reiniciar e estar preparado com o seu cliente VNC para testar a conexão em um momento:
sudo reboot
Quando o sistema terminar de reinicializar, faça o login com o seu cliente VNC. Se a sua sessão VNC falhar, visite o prompt de comando e execute o comando tightvnc start (da parte de teste acima) novamente para verificar novamente se o arquivo é executável e se a senha foi salva corretamente.
Neste ponto, estamos ainda mais longe em nossa missão de controlar totalmente remotamente nossa unidade Raspberry Pi. Com acesso remoto à linha de comando via SSH e acesso remoto à área de trabalho via VNC em nossos cintos, vamos simplificar o processo de transferência de arquivos entre o nosso computador Pi e desktop.
Configurando e configurando ferramentas de transferência de arquivos
Como já temos o SSH configurado, a maneira mais fácil de configurar a transferência de arquivos mortos simples entre nossos computadores Pi e remotos é colocar uma interface GUI na conexão SSH. Lembre-se de como falamos sobre o uso do SCP sobre o SSH anteriormente no tutorial? Executá-lo a partir da linha de comando fica realmente entediante, muito rápido. Com um invólucro GUI, poderemos passar mais tempo movendo arquivos e tocando com nosso Pi e menos tempo bicando no teclado.
Embora haja uma variedade de wrappers GUI para o comando SCP, vamos usar uma ferramenta multiplataforma que muitas pessoas já conhecem, têm e amam (e podem até mesmo desconhecer que faz transferências SCP): FileZilla. Está disponível para Windows, OS X e Linux - você pode pegar uma cópia aqui.
Depois de instalar o FileZilla, ligue-o e vá para Arquivo -> Gerenciador de sites. Crie uma nova entrada de site, nomeie-a e insira o nome de usuário e a senha para seu Pi.
Por fim, certifique-se de definir a porta como 22 e o tipo de servidor como SFTP - SSH File Transfer Protocol. Clique em conectar na parte inferior e você terá uma visualização semelhante a esta:
Seus diretórios locais estão no painel esquerdo e os diretórios remotos no Pi estão no painel direito. Mover arquivos entre os dois é tão simples quanto arrastá-los e soltá-los.
Aproveitar a transferência de arquivos SSH existente é a maneira mais fácil de obter os arquivos no Pi sem nenhuma configuração adicional necessária mas Se você quiser configurar seu Pi para receber e compartilhar arquivos sem que o usuário remoto exija ferramentas sofisticadas (como um cliente FTP compatível com SCP, como o FileZilla), é altamente recomendável verificar a parte de configuração do Samba em nosso guia: Como transformar uma framboesa Pi em um dispositivo de armazenamento de rede de baixa potência. Lendo sobre isso irá familiarizá-lo com a criação de um compartilhamento básico do Samba no Pi para criar uma pasta compartilhada facilmente acessível por praticamente qualquer pessoa em sua rede sem quaisquer ferramentas adicionais.
Você configurou o SSH, configurou o VNC e configurou um acesso SFTP e / ou Samba simples ao seu Pi - neste ponto, você pode inicializar seu Raspberry Pi, remover o monitor, o teclado e o mouse, e guardá-lo como uma máquina silenciosa e sem cabeça.
Tem uma idéia para o projeto Raspberry Pi e você está morrendo por nós para escrever um tutorial para isso? Entre nos comentários ou envie um e-mail para [email protected] e faremos o possível para ajudar.