Nessun router + nessuno schermo + cavo Ethernet normale + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Per prima cosa dobbiamo abilitare il server SSH sul Pi, che è disabilitato di default per sicurezza.
Se hai già una shell sul Pi tramite un metodo non SSH come schermo + tastiera o UART (vedi sotto), esegui:
sudo systemctl enable ssh
sudo service sshd start
come spiegato su: /raspberrypi/58478/ssh-not-working-with-fresh-install Questo persiste durante gli stivali.
Altrimenti, inserisci la scheda SD sul tuo host e crea un magico file vuoto chiamato ssh
file nella boot/
partizione.
Sugli host Ubuntu, viene montato automaticamente e puoi fare semplicemente:
sudo touch /media/$USER/boot/ssh
che puoi confermare con:
lsblk
che contiene:
mmcblk0 179:0 0 14.4G 0 disk
├─mmcblk0p1 179:1 0 43.9M 0 part /media/ciro/boot
└─mmcblk0p2 179:2 0 14.4G 0 part /media/ciro/rootfs
Se non abiliti il demone SSHD sul Pi, la connessione SSH fallirà con:
ssh: connect to host 10.42.0.160 port 22: Connection refused
quando lo proviamo più tardi.
Dopo aver abilitato il server SSH
Quindi, avvia il Pi e collega un cavo Ethernet dal tuo laptop direttamente al Pi:
Su Ubuntu 17.04 per aggirare questo bug come menzionato in questa risposta devi prima:
sudo apt-get install dnsmasq-base
Sull'host, apri il gestore di rete:
nm-connection-editor
E vai:
+
segno (Aggiungi una nuova connessione)
- Ethernet
- Creare
- Impostazioni IPv4
- Metodo: condiviso con altri computer
- Dagli un buon nome
- Salva
Trova l'IP del Pi sull'host:
cat /var/lib/misc/dnsmasq.leases
produce qualcosa come:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
è l'IP, quindi come al solito:
ssh pi@10.42.0.160
Ho anche quanto segue nel mio .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Dall'interno del Pi, nota che può accedere a Internet normalmente tramite le altre interfacce del tuo host:
ping google.com
Ad esempio sul mio laptop, il Pi occupa l'Ethernet, ma anche l'host è connesso a Internet tramite WiFi.
Il cavo crossover non è necessario se la scheda di rete host supporta Auto MDI-X . Questo è il caso dell'hardware più recente, incluso ad esempio il Lenovo T430 del 2012 con cui ho testato, che ha una "connessione di rete Gigabit Intel® 82579LM" che documenta il supporto per Auto MDI-X .
Ora puoi anche:
Convertitore USB seriale UART
Questa è un'alternativa a SSH se vuoi solo ottenere una shell sul Pi: https://en.wikipedia.org/wiki/Serial_port
Questo non utilizza SSH o la rete stessa, ma piuttosto l'interfaccia seriale più vecchia, più semplice, più diretta, più affidabile, con larghezza di banda inferiore e distanza inferiore. Il Pi non avrà accesso a Internet con questo metodo.
I computer desktop hanno ancora una porta seriale che puoi collegare direttamente filo a filo con il Pi, ma questi sono nascosti nella maggior parte dei laptop, quindi dobbiamo acquistare un adattatore USB economico. Qui ho usato: https://www.amazon.co.uk/gp/product/B072K3Z3TL Vedi anche: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-e-ttyama0-in-linux / 367882 # 367882
Innanzitutto collega la scheda SD all'host e modifica il config.txt
file presente nella prima partizione per aggiungere:
enable_uart=1
come spiegato su: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Questa prima partizione contiene il bootloader, i suoi file di configurazione e il kernel (Linux / tuo), config.txt
essendo uno di questi. La seconda partizione contiene l'attuale filesystem root di Linux.
Ora collega il tuo computer al Pi come:
Hai solo bisogno di collegare 3 cavi:
- Terra a terra
- Tx su Pi a Rx sulla porta da USB a seriale
- Rx su Pi to Tx su tye USB alla porta seriale
Questo è anche documentato su: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Fai attenzione a non collegare il Ground al 5V, ho già masterizzato 2 chip UART su USB e un UART RPI in questo modo!
Non è necessario collegare affatto il 5V al 5V. Penso che tu possa alimentare il tuo Pi in questo modo, ma ho letto che questa è una cattiva idea, usa la solita fonte di alimentazione USB.
Infine, collega il lato USB del connettore al tuo computer host e ottieni una shell con:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Esci con Ctrl-A \
.
Ecco un video di Adafruit che lo mostra: https://www.youtube.com/watch?v=zUBPeoLW16Q
Guarda anche
Domanda simile su RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection