Vou configurar um Raspberry Pi B+ sem teclado, mouse e tela. Vou usar apenas o PuTTy (MS-windows, cliente ssh) e um cabo ethernet entre meu Raspberry Pi e meu roteador.
O disco rígido do Raspberry Pi é um cartão SD e no cartão SD há um arquivo chamado "cmdline". Eu abro o arquivo "cmdline" e adicionei "ip=192.168.1.2" para definir o endereço IP no Raspberry Pi.
Tutorial: https://youtu.be/Ioih6MHNNqc?t=1m1s
Então escrevi este comando:
nmap -F 192.168.1.1-100
Ele verifica todos os endereços IP de 192.168.1.1 a 192.168.1.100
Então eu encontrei 192.168.1.2
Nmap scan report for 192.168.1.2
Host is up (0.0084s latency).
All 100 scanned ports on 192.168.1.2 are closed
Mas as portas estão fechadas. Como posso abrir portas? Posso fazer isso no arquivo "cmdline"?
No tipo bash
sudo apt-get install openssh-server
Isso instalará o servidor ssh, ele escutará na porta 22, a porta 22 ficará aberta. Para o que você disse que está tentando fazer, não precisa de nenhuma outra porta aberta.
Para fazer isso, você não pode fazer login remoto, porque ssh é a ferramenta de login remoto. Portanto, faça um desses.
ssh
ao diretório de inicialização, removendo o cartão SD e usando outra máquina (leia esta outra pergunta).Além disso, o nmap escaneou apenas 100 portas, existem muito mais do que isso ( 2¹⁶ = 65536 ). Então diga ao nmap para escanear todos eles (será mais lento).
Achei a resposta agora!
Basta adicionar um arquivo vazio chamado "ssh" sem extensão, como .txt ou .c. Apenas "ssh" na pasta de inicialização e pasta rootfs do cartão SD para o Raspberry Pi.
Em seguida, vá para o seu roteador e encontre em qual IP o raspberry pi está definido.
Você "abre" uma porta simplesmente por ter um programa escutando conexões de entrada nessa porta:
Puf! A porta 12345 agora está aberta e ouvindo conexões de entrada porque
nc
está aguardando uma.Uma porta sendo "fechada" não significa que está bloqueada; significa simplesmente que não há nada esperando por uma solicitação de conexão recebida.
Se sua pergunta é mais especificamente sobre conexão via shell seguro e não apenas estabelecer genericamente uma conexão a uma porta arbitrária, você precisa instalar e iniciar um servidor shell seguro:
primeiro você precisa instalar o openssh-server no pi.
1- conecte seu teclado e sua tela nele
2- inicialize e abra um terminal
3- baixe e instale o pacote openssh-server deb
4- habilite e inicie o sshd
agora você poderá ssh no pi
Descobri que o acesso à porta 22 foi aberto quando fui para Preferences / Raspberry Pi Configuration, escolhi a guia Interfaces e marquei SSH como "ativado".