Tengo un Raspberry Pi modelo B en casa, pero no tengo pantalla. Mi plan es conectarlo a Ethernet y luego conectarlo a él. Pero esto significa que la tarjeta SD con el sistema operativo (Debian Squeeze) debe prepararse primero. Veo dos formas:
Prepare la SD con el sistema operativo de modo que el RPi siempre se conecte a Ethernet bajo una dirección IP fija y habilite un servidor SSH.
Prepare la SD con el sistema operativo de modo que el RPi se conecte a la red, habilite un servidor SSH y luego transmita su dirección IP para que pueda ingresar en ella.
¿Cuál de estas formas es más fácil? ¿Y cómo lo hago? ¿Hay otras formas?
Tengo las siguientes herramientas: Ubuntu 10.4, MacOS 10.5, Windows 7, pero solo Ubuntu tiene un lector de tarjetas. Desafortunadamente no puedo acceder a la tabla DHCP de mi enrutador, está completamente cerrada.
Respuestas:
Para habilitar ssh al inicio, haga una copia
boot.rc
de seguridad en la partición de arranque en la imagen SD y reemplácela conboot_enable_ssh.rc
No sé acerca de su enrutador, pero es posible que pueda configurarlo para reservar una dirección IP fija para la dirección MAC de su Pi.
fuente
Copiar
boot_enable_ssh.rc
aboot.rc
desde/boot
en la Raspberry Pirootfs
(tarjeta SD)Aún en la Raspberry Pi
rootfs
, edite/etc/network/interfaces
para tener una dirección IP fija asignada (por lo que no se necesita un servidor DHCP ). Por ejemplo,Arranque su Raspberry Pi, use un cable Ethernet para conectarlo a la misma red a la que está conectada su PC (o conéctelo directamente a su PC) e inicie sesión a través de SSH:
Instale un servidor VNC ligero en su Raspberry Pi:
Luego, inicie el servidor VNC (se le pedirá que establezca una contraseña):
Instale un cliente VNC en su PC:
Luego, conéctese a su Raspberry Pi a través de VNC desde su PC:
Simplemente funciona aquí de esa manera :)
fuente
Ninguna de las
boot_enable_ssh.rc
cosas existe en las versiones actuales de Raspian. Arrancas, un buen menú gráfico te da algunas opciones (incluso si SSHD debe cargarse en el arranque) y luego te descarga en una línea de comando.Eso es genial si ... eres un usuario gráfico.
Si no lo está, queda en la posición en la que tiene que correr de alguna manera externa
update-rc.d
. Todo lo que esto realmente hace es crear un enlace simbólico al/etc/init.d/...
script en varios puntos del/etc/rc{0..6}.d/...
sistema de archivos. ¿Confuso? No importa, hacer el daño es simple.Supongo que estás haciendo esto desde una computadora Linux. Al menos algo usando bash, o algo compatible. Lo que sugiero no funcionará desde Windows sin Cygwin (u otro). Montar la tarjeta SD y
cd
en ella.Correr:
Desmontar y arrancar. Debería tener acceso a él a través de SSH.
Si te cuesta encontrarlo en tu red ...
Tres opciones para ti:
ifconfig
(¡trampa!)Úselo
nmap
en otra computadora para buscarlo. Debe saber qué IP tiene aproximadamente (a a / 24), por lo que el escaneo es simple:fuente
ping -b 192.168.0
o un equivalente? No estoy seguro de qué tan viable es esto, ya que acabo de probar esto en dos enrutadores sin éxito. Parece estar comúnmente bloqueado.arping
; hace lo que impondrían los comandos ping y arp por separado, pero sin inundar la red con paquetes ICMP.arp -a
no hace esto solo.Si usa la distribución Arch Linux , simplemente conéctela y espere a que se asigne su dirección desde un servidor DHCP . Luego puede verificar el estado del DHCP (conectándose a su enrutador, por ejemplo) y recuperar la dirección IP de la lista de clientes conectados. Si eso falla, puede usar
nmap
herramientas similares para escanear toda la subred en busca del puerto abierto 22 (SSH está habilitado de manera predeterminada).fuente
Tras los ataques masivos de botnet en 2016 debido a que los dispositivos IoT se piratean fácilmente con contraseñas predeterminadas, Raspbian vuelve a tener SSH desactivado de forma predeterminada ( fuente ).
La solución es bastante fácil, solo necesita crear un archivo en la
boot
partición (no en el directorio dentro del sistema de archivos raíz) llamadossh
. Para verificar si está en la partición correcta, debe tener un archivo llamadostart.elf
.¡No olvides cambiar tu contraseña después!
Para encontrar mi Pi en mi red, utilicé
sudo arp-scan -l
, aunquesudo nmap -sS --open -O 192.168.1.0/24
también es una opción válida, pero más lenta.fuente
Usando la imagen beta de Debian 7 (Wheezy), SSH se instala y habilita de manera predeterminada. Solo necesita conectarse a él a través de su dirección IP.
Hay algunas maneras de averiguar en qué dirección IP está la Raspberry Pi sin tener que ejecutarla
ifconfig
directamente, por ejemplo:fuente
La manera fácil (si solo tiene un teclado)
SSH no está habilitado por defecto en Debian Wheezy (Raspbian).Érase una vez, SSH definitivamente no estaba habilitado en mis imágenes Raspbian. Aparentemente, SSH está habilitado por defecto ahora. Pero si no es así y estás atrapado, sigue leyendo:Habilitarlo es muy simple, mucho más simple que la mayoría de las respuestas que he visto aquí, si tiene un teclado USB:
Habilite SSH con:
Escribe la contraseña "raspberry" nuevamente por si acaso, ya que es un
sudo
comando, y presiona Enter.Ahora debería poder acceder de forma remota a su RPi por su dirección IP en su red.
Como mencionó Denis Mitropolskiy , la utilidad de configuración facilita la configuración de SSH en este punto:
Simplemente vaya a la opción "ssh". Afortunadamente, esto funciona en una sesión SSH, por lo que el único comando que necesita ejecutar "a ciegas" es el primero de arriba.
fuente
No puedo decir si SSH funciona o no de fábrica, pero la última versión de la utilidad de configuración tiene el comando "Activar SSH". Después de eso pude conectarme a mi Raspberry a través de la red. Pero para habilitarlo necesitas un monitor de todos modos.
fuente
Una advertencia: con Arch Linux , esto funcionó para mí solo si tenía Ethernet conectada antes de arrancar la Raspberry Pi (y luego funcionó bien: sshd estaba habilitado por defecto). Si primero inicio, luego conecto el cable Ethernet, la Raspberry Pi nunca contacta al servidor DHCP para obtener una dirección IP.
fuente
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:
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 laboot/
partición.En los hosts Ubuntu, se monta automáticamente y puede hacer simplemente:
que puedes confirmar con:
que contiene:
Si no habilita el demonio SSHD en el Pi, la conexión SSH fallará con:
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:
En el host, abra el administrador de red:
Y ve:
+
firmar (Agregar una nueva conexión)Encuentre la IP de Pi en el host:
produce algo como:
10.42.0.160
es la IP, entonces como siempre:También tengo lo siguiente en mi
.bashrc
:Desde el interior del Pi, tenga en cuenta que puede acceder a Internet normalmente a través de otras interfaces de su host:
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: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:
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:
Salir con
Ctrl-A \
.Aquí hay un video de Adafruit que lo muestra: https://www.youtube.com/watch?v=zUBPeoLW16Q
fuente
Si usa Debian, es bastante fácil si puede prestar una pantalla y una red para su RPi por solo unos minutos de un amigo. De lo contrario, puede probar los comandos para 'nmap' y 'ssh' desde su host Ubuntu.
Simplemente verifique que el paquete openssh-server esté instalado y que esté listo. Lo haces desde la línea de comandos con
aptitude install openssh-server
. También puede verificar o cambiar el nombre del RPi cuando haya iniciado sesión en la máquina. También puede comprobar que el paqueteavahi-utils
yavahi-daemon
se instala, sólo trataraptitude install avahi-utils
.El paquete / programa avahi implementará Apples protocololl mDNS / DNS-SD que se anunciará a otras computadoras que usan ese protocolo como computadora en el dominio DNS
local
. Entonces, si se llama a su máquinarpi-machine
, intente conectarse a la máquina conrpi-machine.local
.Puede verificar el archivo
/etc/nsswitch.conf
para ver si tiene esta línea allí:Tanto su máquina Apple como Ubuntu deberían implementar esto. Sin embargo, su máquina MS Windows 7 no hace eso. En la máquina Ubuntu puedes probar este comando:
o
Luego, debería obtener todas sus máquinas y sus servicios, como SSH y HTTP.
También podría intentar instalar el paquete
nmap
en su máquina Ubuntu. Luego, puede verificar en qué red se encuentra con el comandoip route list
para ver en qué red IP se encuentra. Por ejemplo, en mi máquina podría obtener algo como esto (esto es de example.com, así que no lo use):me dice que estoy en la red
192.0.43.0/24
y que el enrutador está192.0.43.1
. Entonces, si ejecuta el comandonmap 192.0.43.0/24
, intentará encontrar todas las máquinas en su red y le dirá qué puertos están abiertos. Busque el puerto22/tcp
, ya que son los servidores ssh.fuente
Logré configurar mi Raspberry PI sin pantalla o teclado usando los siguientes pasos:
Descargue la última imagen de debian-pi / raspbian-ua-netinst . El actual es
raspbian-ua-netinst-v1.0.7.img.bz2
. El archivo descargado solo tiene unos 17 MB.Descargue la "aplicación Apple Pi Baker " y use este software para transferir la imagen a su tarjeta SD
Inserte la tarjeta SD en su PI y después de aproximadamente 15 minutos se instalará la última Raspbian.
Usando la aplicación para iPhone Fing descubrí la IP del PI, que es en mi caso
192.168.1.13
.Ahora puedo SSH a esa IP así:
Y Voila tengo acceso a través de SSH sin hacer una configuración tediosa.
FYI:
raspbian-ua-netinst
ofrece una configuración más avanzada, así que consulte el archivo Léame si desea ajustar algunas de esas configuraciones iniciales.fuente
Una de las mejores formas de conectarse después de la configuración inicial es poner en funcionamiento avahi-daemon en Raspberry Pi.
Una vez que haya instalado el avahi-daemon en Raspberry Pi y Bonjour en la computadora host, simplemente puede iniciar sesión usando raspberrypi.local como nombre de host. Por lo tanto, no es necesario configurar la dirección IP , ya sea estática o dinámica.
Para instalar avahi-daemon en Raspberry Pi:
Y si tiene iTunes instalado en la computadora host, simplemente ingrese raspberrypi.local en PuTTY , de lo contrario, instale Bonjour desde aquí . Consulte este tutorial para más información.
fuente
Es posible que desee
raspbian-ua-netinst
probarlo: puede encontrarlo haciendo clic aquí Es el mínimo instalador desatendido Raspbian para Raspberry Pi Modelos 1B, 1B + y 2B. No se requiere pantalla ni teclado. Tienen un excelente manual de instalación en elREADME.md
.Esencialmente, simplemente formatea FAT una tarjeta SD. Descomprima la última versión estable e inserte la tarjeta SD en su Raspberry Pi. Se tarda entre 20 y 30 minutos en instalar una instalación mínima de Raspbian y listo. Viene con SSH instalado por defecto. Hay algunas opciones que le permiten instalar paquetes y cosas adicionales durante la instalación inicial. También puede agregar paquetes más tarde, obviamente.
fuente
Para Raspbian, este tutorial me pareció muy útil. Después de realizar los pasos descritos en él, pude SSH desde mi computadora portátil con Windows 10 a mi Raspberry PI con usuario
pi
y contraseñaraspberry
.Más específicamente, aquí está la parte relevante:
fuente
Como tenía otro Pis con el que me podía conectar, hice trampa.
Saqué la tarjeta Micro SD del Pi que no me dejaba conectar, y la puse en un lector USB en uno de los Pis que funcionan.
Luego lo monté en una carpeta de prueba (
sudo mount /dev/sda2 /mnt/test
), luego lochroot /mnt/test
traté como el nuevo shell.Luego habilité SSH con
systemctl enable ssh
. Sacó la tarjeta después de desmontarla, arrancó el Pi, luego el puerto SSH fue abierto y accesible.Funciona en Debian, estoy seguro de otros
systemd
sistemas de estilo también.fuente