Se ha hecho una pregunta similar antes: ¿Cómo configurar Raspberry Pi sin un monitor?
Sin embargo, dado que la respuesta aceptada no parece ofrecer una solución adecuada, y dado que hay un nivel de ambigüedad en lo que se estaba preguntando, supongo que la pregunta original fue mal construida y que mi pregunta no es t un duplicado exacto.
Estoy realizando la configuración inicial de un Pi por primera vez. No tengo monitor o teclado, pero en cambio quiero usar una computadora portátil conectada para hacer el trabajo. No quiero comprar un monitor o teclado y tenerlos sentados solo para las ocasiones en que el Pi los necesita. Podría pedirlos prestados, pero planeo comprar más Pi en el futuro, y no quiero tener que pedirlos prestados cada vez.
He configurado una dirección IP estática en el Pi editando el cmdline.txt
archivo. (El Pi está ejecutando la última versión de Raspbian).
ip=10.0.0.20
Le di a la eth
interfaz de mi computadora portátil una dirección IP estática correspondiente. (La computadora portátil está ejecutando Ubuntu).
ip ad add 10.0.0.10/24 dev eth0
He conectado los dos juntos con un cable de ethernet y puedo hacer ping con éxito al Pi desde mi computadora portátil.
Lo que no puedo hacer es ssh
al Pi. Recibo una respuesta de conexión rechazada :
richard@richard-ThinkPad-X220:~$ ssh -vvv [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.0.20 [10.0.0.20] port 22.
debug1: connect to address 10.0.0.20 port 22: Connection refused
ssh: connect to host 10.0.0.20 port 22: Connection refused
Una cosa que esto implicaría es que sshd
aún no se está ejecutando en el Pi.
Los documentos oficiales indican que se sshd
ejecuta de forma predeterminada, pero es posible que durante un arranque inicial otras cosas (por ejemplo, avisos en espera de entrada del usuario) puedan bloquear el arranque en un cierto nivel, lo que significa que no llegamos al punto en el que sshd
se inicia ?
¿A donde voy desde aqui? (No "a las tiendas a comprar un monitor" ...)
¿Es lo que estoy intentando realmente posible?
Editar:
Ahora he probado los métodos mencionados en las respuestas a la siguiente publicación, pero sin éxito: Habilitar SSH en RPi sin pantalla: pulsaciones de teclas para raspi-config?
Específicamente, garantizar que el script de inicio SSH se ejecute en el nivel de ejecución 2 todavía no me permitió conectarme.
ssh [email protected]
Parece que no crees que decirnos cómo lo intentasssh
es importante.ping [email protected]
. Pero esto no funciona porqueraspberrypi.local
es un host desconocido. ¿No necesitaría una entrada en/etc/hosts
mi computadora portátil para poder resolverlo?sudo nmap 10.0.0.20
en la computadora portátil. Si muestra que el puerto 22 está abierto, entonces SSH se está ejecutando, de lo contrario no se está ejecutando. No lo arreglará, pero le dirá lo que está sucediendo.Respuestas:
En la última imagen que tengo, 2015-11-21-raspbian-jessie- lite .img, esto no es cierto. Debian / Raspbian jessie actualmente usa systemd para init, pero hay una especie de mecanismo híbrido compatible con SysV incorporado, y noto en el sistema en ejecución que creé a partir de esta imagen (usando una pantalla y un teclado para la configuración inicial), donde sshd ahora está habilitado, hay un activador tanto en el
rc.d
directorio systemd como en los directorios SysV antiguos . Presumiblemente, así es como funciona el mecanismo compatible con versiones anteriores (habilité ssh a través de systemd). En cualquier caso, solo hay unasshd
instancia con un PPID de 1 en ejecución.Para el sistema de trabajo, hay una entrada
/etc/rc[2,3,4,5].d
paraS02ssh
(el número de prioridad exacto, 02, se establece cuando el servicio está habilitado y puede variar). También hay un/etc/systemd/system/multi-user.target.wants/ssh.service
.En la imagen base, sin embargo ...
... No hay entrada
/etc/systemd
y hay unK01ssh
nivel de ejecución 2, 3, 4, 5. Eso garantizará que no se esté ejecutando sshd.Mi sugerencia es intentar primero configurar solo la entrada SysV. Desde el
etc
directorio de la segunda partición en la tarjeta SD:Verifique para asegurarse de que los enlaces estén allí y apunten al lugar correcto con
stat
. Creo que esto debería ser suficiente y ahora puede intentar arrancar el sistema. Si es así, después de ingresar, elimine esos enlaces y ejecutesystemctl enable ssh
, luego verifique que los enlaces se hayan recreado (recuerde, la prioridad puede ser diferente).Si, a pesar "Conexión rechazada", crear un enlace desde
[SD_rootfs]/lib/systemd/system/ssh.service
a[SD_rootfs]/etc/systemd/default.target.wants/ssh.service
y vuelve a intentarlo.fuente
K01ssh
en elrc2.d
directorio y le cambié el nombre, pero no había visto a los demás en los otrosrc
directorios. Lamentablemente, eliminar aquellos que usan su script no ayudó. (Verifiqué que se crearon, como usted sugirió). Para el segundo método, no tengo unassh.service
entrada en eletc/systemd/system/multi-user.target.wants/
directorio ylib/systemd/system/
no se puede acceder al directorio. El sistema ni siquiera puede decir que es un directorio (y la ejecuciónfile
me da:ERROR: cannot open
lib / systemd / system '(Error de entrada / salida) `).systemd
archivos que mencionaste estaban presentes, así que intenté tu segunda sugerencia, que funcionó :) No estoy seguro de por qué las cosas eran diferentes entre las imágenes, pero podría haber sido mi pirateo que afectó algo en la primera imagen. (No tengo idea de qué ...) Muchas gracias por su ayuda.lib/systemd/system/
directorio era inaccesible. Lo mismo ocurre con una imagen de Wheezy. Solo la imagen Lite me permitió acceder al directorio y, por lo tanto, completar las instrucciones.Para aquellos de ustedes que se encuentran con esto con las imágenes más recientes de Raspbian: hay un
sshwitch
objetivo systemd, que verifica/boot/ssh
y, si ese archivo está presente, regenera las claves de host SSH y habilita el servidor SSH.Entonces, para habilitar SSH, simplemente agregue un archivo llamado
ssh
en la raíz de la partición de arranque (el FAT, con elbootcode.bin
archivo), ¡y arranque su Pi!Editar: esto funcionó en mi imagen 2017-01-11-raspbian-jessie-lite.
fuente
Lamento que esto sea una respuesta, pero no suficiente crédito para comentar.
¿El servicio ssh está activo? Si es posible, y es una de las imágenes de instalación de frambuesa, intente raspi-config solo para habilitar ssh.
Otra forma, verifique si ssh está cargado y habilitado
Quizás el puerto ssh 22 rechaza la conexión porque el servicio no está listo
fuente
systemctl --list-units | grep ssh
(o mejor aún, el más informativosystemctl status ssh
). Pero tiene razón, "Conexión rechazada" significa que nada está escuchando en el puerto. Si ssh se está ejecutando, entonces la IP es incorrecta.https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/ Este enlace para el sistema operativo de la versión Rasbian PIXEL.
fuente
/boot/ssh
solución.La versión de Jessie lite con fecha 26 de febrero de 2016 tiene ssh habilitado de forma predeterminada.
fuente