Sin enrutador + sin pantalla + cable Ethernet normal + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10 host
Primero debemos habilitar el servidor SSH en el Pi, que está deshabilitado de forma predeterminada por seguridad.
Si ya tiene un shell en el Pi a través de un método que no sea SSH, como pantalla + teclado o UART (consulte a continuación), simplemente ejecute:
sudo systemctl enable ssh
sudo service sshd start
como se explica en: SSH no funciona con una instalación nueva Esto persiste a través de las botas.
De lo contrario, inserte la tarjeta SD en su host y cree un archivo mágico vacío llamado ssh
archivo en la boot/
partición.
En los hosts Ubuntu, se monta automáticamente y puede hacer simplemente:
sudo touch /media/$USER/boot/ssh
que puedes confirmar con:
lsblk
que 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
Si no habilita el demonio SSHD en el Pi, la conexión SSH fallará con:
ssh: connect to host 10.42.0.160 port 22: Connection refused
cuando lo intentemos más tarde.
Después de habilitar el servidor SSH
A continuación, inicie el Pi y conecte un cable Ethernet desde su computadora portátil directamente al Pi:
En Ubuntu 17.04 para solucionar este error como se menciona en esta respuesta , primero necesita:
sudo apt-get install dnsmasq-base
En el host, abra el administrador de red:
nm-connection-editor
Y ve:
+
firmar (Agregar una nueva conexión)
- Ethernet
- Crear
- Configuraciones IPv4
- Método: compartido con otras computadoras
- Ponle un buen nombre
- Salvar
Encuentre la IP de Pi en el host:
cat /var/lib/misc/dnsmasq.leases
produce algo como:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
es la IP, entonces como siempre:
ssh pi@10.42.0.160
También tengo lo siguiente en mi .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Desde el interior del Pi, tenga en cuenta que puede acceder a Internet normalmente a través de otras interfaces de su host:
ping google.com
Por ejemplo, en mi computadora portátil, el Pi toma Ethernet, pero el host también está conectado a Internet a través de WiFi.
El cable cruzado no es necesario si la tarjeta de red host admite Auto MDI-X . Este es el caso del hardware más reciente, incluido, por ejemplo, el Lenovo T430 2012 con el que probé, que tiene una "Conexión de red Intel® 82579LM Gigabit" que documenta el soporte para Auto MDI-X .
Ahora también puedes:
Convertidor USB serie UART
Esta es una alternativa a SSH si solo desea obtener un shell en Pi: https://en.wikipedia.org/wiki/Serial_port
Esto no usa SSH o la red en sí, sino más bien la interfaz serial más antigua, más simple, más directa, más confiable, de menor ancho de banda y de menor distancia. El Pi no tendrá acceso a Internet con este método.
Las computadoras de escritorio todavía tienen un puerto serie que puede conectar directamente cable a cable con el Pi, pero estos están ocultos en la mayoría de las computadoras portátiles, por lo que necesitamos comprar un adaptador USB barato. Aquí he usado: https://www.amazon.co.uk/gp/product/B072K3Z3TL Ver también: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Primero conecte la tarjeta SD al host y edite el config.txt
archivo presente en la primera partición para agregar:
enable_uart=1
como se explica en: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Esta primera partición contiene el gestor de arranque, sus archivos de configuración y el kernel (Linux / your), config.txt
siendo uno de ellos. La segunda partición contiene el sistema de archivos raíz de Linux real.
Ahora conecte su computadora a la Pi como:
Solo necesita conectar 3 cables:
- Tierra a tierra
- Tx en Pi a Rx en el puerto USB a serie
- Rx en Pi a Tx en tye USB a puerto serie
Esto también está documentado en: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Tenga cuidado de no vincular el suelo a los 5V, ¡ya he quemado 2 chips UART a USB al hacerlo!
No necesita conectar el 5V al 5V en absoluto. Creo que puede alimentar su Pi de esa manera, pero he leído que es una mala idea, solo use la fuente de alimentación USB habitual.
Finalmente, conecte el lado USB del conector a su computadora host y obtenga un shell con:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Salir con Ctrl-A \
.
Aquí hay un video de Adafruit que lo muestra: https://www.youtube.com/watch?v=zUBPeoLW16Q