Cómo configurar tu Raspberry Pi para shell remoto, escritorio y transferencia de archivos
Por lo tanto, tiene una Raspberry Pi y le gustaría maximizar su huella diminuta convirtiéndola en una caja totalmente independiente, sin monitor, teclado u otros periféricos de entrada. Siga leyendo mientras le mostramos cómo configurar el acceso remoto a shell, escritorio y transferencia de archivos en su Pi.
¿Por qué quiero hacer esto??
La Pi, incluso vestida en un estuche resistente, es una computadora pequeña. Es perfecto para guardarlo en algún lugar fuera de la vista sin una manada de cables que sobresalgan de él. Para muchos proyectos, simplemente no necesita un monitor permanente y un acompañamiento periférico..
Ese no hace sin embargo, significa que no será necesario que se conecte a la caja para realizar cambios, actualizar cosas, transferir archivos, etc. Un ejemplo perfecto de esto es el pequeño indicador de lluvia que creamos como parte de nuestro artículo Construye un indicador LED con un artículo de Raspberry Pi (para correo electrónico, clima o cualquier otra cosa). No necesita todo lo que se adjunta directamente a él, pero aún así nos gustaría tener la posibilidad de subirse al dispositivo y realizar cambios o probar nuevos experimentos con el módulo LED sin tener que arrastrarlo de nuevo al taller, y conéctelo a un monitor, teclado, mouse, etc. Al configurarlo para shell remoto, escritorio remoto y transferencia remota de archivos, lo hacemos muy simple para interactuar siempre con nuestra unidad Pi desde la comodidad de nuestra computadora de escritorio como si nosotros he conectado la unidad a una estación de trabajo completa.
Qué necesito?
Si eres nuevo en trabajar con Raspberry Pi, te recomendamos que consultes la Guía HTG para comenzar con Raspberry Pi para conocer los aspectos básicos del dispositivo y ponerte al día..
Para este tutorial necesitarás lo siguiente:
- Una Raspberry Pi corriendo Raspbian.
- Una computadora de escritorio o portátil.
- Una red local Wi-Fi o por cable para conectar el Pi y su computadora.
Primero, la mayoría de los pasos en este tutorial deberían funcionar con otras distribuciones Pi basadas en Linux pero Vamos a utilizar Raspbian. Deberías tener pocos problemas para adaptar el tutorial a otras distribuciones..
En segundo lugar, estamos utilizando una máquina con Windows como nuestra computadora en red para interactuar con la unidad Raspberry Pi como la cabeza / interfaz remota. Cuando sea apropiado, haremos nuestro mejor esfuerzo para enlazar con tutoriales y lecturas sugeridas sobre cómo realizar tareas y herramientas paralelas en OS X y Linux.
Configuración y conexión al servidor SSH
El acceso remoto a la línea de comandos a su instalación de Raspbian es el truco más pequeño que puede hacer en su sistema, y es muy fácil de habilitar.
Abre el terminal en Rasbian, el acceso directo es LXTerminal en el escritorio y escribe el siguiente comando:
sudo raspi-config
Navega hacia abajo hasta ssh y pulsa enter. Cuando se le pregunte acerca del servidor SSH, seleccione Habilitar y pulsa enter de nuevo. Volverá al panel de configuración de Raspi; navegar hacia abajo para Terminar y pulsa enter para cerrar la herramienta de configuración. Eso es todo lo que necesita hacer para activar el acceso SSH a su Pi. El nombre de usuario y la contraseña predeterminados de SSH es Pi y frambuesa, respectivamente.
Mientras aún está sentado en la línea de comandos, ahora es un buen momento para verificar la IP de su unidad Raspberry Pi en la red local. Tipo ifconfig en el indicador y luego mire la salida del comando. Si está utilizando el puerto Ethernet desea buscar el init addr en el et0 sección; Si está utilizando Wi-Fi, desea buscar el init addr en el wlan0 sección. Además de verificar y anotar la dirección IP, este también es un buen momento para configurar una entrada de IP estática en su enrutador para que no tenga que buscar la IP en el futuro.
Ahora que tenemos el servidor SSH habilitado, conocemos el inicio de sesión y sabemos la dirección IP de la máquina, es hora de conectarse a través de SSH y probarlo. Para hacerlo desde Linux y OS X, simplemente puede usar el ssh comando en la terminal. Los usuarios de Windows, sin embargo, necesitarán un cliente SSH como PuTTY.
Ya que estamos usando una caja de Windows para administrar de forma remota nuestro Pi, PuTTY lo es. Instale una copia de PuTTY o extraiga la versión portátil y enciéndala. Existen mucho de configuraciones con las que puedes meterte en PuTTY, pero solo tenemos que preocuparnos por una sola cosa para conectarnos a nuestro Pi. En la interfaz principal de la sesión, simplemente escriba la dirección IP de su Pi y seleccione SSH Por debajo de eso:
Golpear Abierto en la parte inferior y PuTTY abrirá una ventana de terminal para usted, conéctese a su Pi y le pedirá que inicie sesión. Adelante, inicie sesión con pi / frambuesa:
Una vez que su conexión SSH sea funcional, técnicamente podría completar el resto de este tutorial de forma remota desde la comodidad de su escritorio, aunque le recomendamos que deje la cabeza y el teclado en su sistema hasta que haya terminado todo el proyecto y todo funcione correctamente..
Antes de continuar, hay algunas funciones adicionales que podemos extraer de SSH. Además de administrar la línea de comandos de forma remota, también puede transferir archivos de forma remota utilizando Secure Copy. Es una línea de comandos intensiva y no es particularmente conveniente para transferir una gran cantidad de archivos provenientes de múltiples directorios, pero para una transferencia de configuración única u otro volcado pequeño, es bastante útil. Consulte nuestra guía para copiar archivos a través de SSH usando el comando SCP aquí.
Veremos más de cerca técnicas de transferencia de archivos más fáciles de usar / basadas en GUI más adelante en el tutorial.
Configuración y configuración de su escritorio remoto
El acceso remoto a la línea de comandos es impresionante, pero también lo es tener acceso al escritorio para actividades centradas en GUI. Vamos a unir los poderes de la línea de comando y los poderes del escritorio.
Aunque nos hemos referido a él como "escritorio remoto" en este punto, la herramienta que estamos instalando en realidad se conoce como publicaciones de computación de red virtual (VNC), de las cuales muchos están familiarizados, como RealVNC y TightVNC. Para este tutorial, instalaremos TightVNC en la Pi. Para acceder a la sesión de TightVNC basada en Pi, necesitará un cliente remoto como:
- Cliente de escritorio TightVNC para Windows
- Cliente de escritorio TightVNC para sistemas Linux / Unix-like
- RealVNC cliente de escritorio para OSX
Coge una copia ahora, y la estaremos sacando más adelante en esta sección. Por ahora, vamos a instalar el servidor TightVNC en tu Raspberry Pi. Abre la terminal. Ingrese el siguiente comando para comenzar:
sudo apt-get install tightvncserver
Esto descargará y descomprimirá los archivos de instalación; cuando se le solicite que continúe, presione Y. Una vez completada la instalación, volverá a la solicitud. Puede iniciar el VNC de dos maneras. Simplemente ejecutando el comando para el servidor así:
servidor apretado
Le pedirá que ingrese una contraseña para acceder a su escritorio VNC, como se ve en la captura de pantalla anterior. La contraseña debe tener 4-8 caracteres de longitud. Una vez que confirme la contraseña, se le solicitará que establezca una contraseña de solo lectura (puede optar por salir del paso, como hicimos nosotros).
Alternativamente, puede usar un comando mucho más preciso, aunque más largo para escribir, que le da más control sobre cómo la computadora remota verá el escritorio; lo más importante, qué resolución mostrará el escritorio para que pueda disfrutar de una vista de pantalla completa en la computadora remota Para especificar la resolución del escritorio VNC, use el siguiente comando, intercambiando el valor de resolución (el cuarto elemento en el comando) para la resolución del escritorio remoto:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Si en algún momento comete un error al configurar la instancia de su servidor VNC y / o desea cerrar el servidor VNC, simplemente ingrese lo siguiente (cambiando el número después de los dos puntos al número de la instancia VNC que desea eliminar) :
vncserver -kill: 1
Ahora que tenemos el servidor VNC en funcionamiento, vamos a conectarlo desde nuestro escritorio remoto. Inicie el visor TightVNC en su computadora y conecte la dirección IP de la unidad Raspberry Pi seguida de: 1 así:
Y aquí está nuestra recompensa por la configuración exitosa de nuestro servidor VNC, una bonita vista de pantalla completa de nuestra unidad Raspberry Pi remota:
Hay un problema conocido con TightVNC y Rasbian que, gracias a un cambio de permiso torcido, causará problemas con el escritorio real con monitor adjunto (mientras que la interfaz de escritorio remoto proporcionada por el servidor VNC no se ha modificado). Para solucionar este problema antes de que se convierta en un problema para usted, diríjase a la línea de comandos e ingrese el siguiente comando:
sudo chown pi /home/pi/.Xauthority
Este comando cambia la propiedad del archivo .Xauthority al usuario pi-para los curiosos, el sistema X-windows utiliza el archivo .Xauthority en Rasbian y alguna cosa durante la instalación del servidor TightVNC y el proceso de configuración provoca que se produzcan pocos permisos.
Con ese pequeño desvío, volvamos a terminar nuestra configuración de escritorio remoto.
Ahora que tenemos acceso completo a la línea de comandos y al escritorio de la Raspberry Pi, hay una modificación no tan trivial que necesitamos hacer. La herramienta Raspi-config configura el servidor SSH para que se inicie automáticamente en el arranque, pero el servidor VNC aún no está configurado de esa manera. Puede omitir este paso e iniciar manualmente el servidor en la línea de comandos a través de SSH cuando lo necesite, pero estamos tratando de hacer que esto sea lo más fácil posible para su uso futuro. Tomemos un minuto ahora y creamos un archivo de inicio para el servidor VNC.
Para iniciar automáticamente el servidor VNC, debemos configurar un archivo de inicio o inicialización, que Raspbian usará para iniciar y apagar el servidor de manera limpia durante el proceso de arranque y apagado. Vamos a crear el archivo de inicio ahora. En la línea de comando escriba el siguiente comando:
sudo nano /etc/init.d/tightvnc
Esto creará un archivo en el directorio de inicialización llamado "tightvnc" y abrirá el editor nano para que podamos pegar en nuestro script. En el editor nano, pegue el siguiente código (asegúrese de cambiar el valor de resolución de 1600 × 900 para que coincida con la pantalla de su computadora remota:
#! / bin / sh
### COMIENCE LA INFORMACIÓN DE INICIO
# Proporciona: tightvncserver
# Requerido-Inicio:
# Requerido-Stop:
# Predeterminado-Inicio: 2 3 4 5
# Predeterminado-Stop: 0 1 6
# Descripción breve: iniciar el servidor vnc
# Descripción:
### FIN DE LA INFORMACIÓN DE INICIOcaso “$ 1” en
comienzo)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:'
echo "VNC Started"
;;
detener)
pkill xtightvnc
echo "VNC terminado"
;;
*)
echo "Uso: /etc/init.d/tightvnc start | stop"
salida 1
;;
esac
Además de modificar la parte de resolución de pantalla del script, hay otra cosa que puede modificar. En la línea 14 puede cambiar el comando "su pi -c" a cualquier otra cuenta de usuario además de "pi" si desea VNC en el escritorio específico para esa cuenta.
Una vez que haya pegado y modificado el código, es hora de guardarlo. Presione CTRL + X para salir y guardar su trabajo en nano. Una vez que haya regresado a la línea de comandos, debemos realizar algunos cambios rápidos en los permisos del archivo:
sudo chmod 755 /etc/init.d/tightvnc
Ahora el archivo de inicialización es ejecutable. Podemos probarlo desde el prompt:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
El último cambio que vamos a hacer es actualizar el archivo rc.d (que rastrea qué scripts de iniciación están en la carpeta /init.d/):
sudo update-rc.d tightvnc defaults
Después de ingresar ese comando, recibirá una confirmación de que el archivo se actualizó. Ahora es el momento de la prueba real: ¿el archivo se carga correctamente después de reiniciar? Ingrese lo siguiente en la línea de comando para reiniciar y prepárese con su cliente VNC para probar la conexión en un momento:
reinicio de sudo
Una vez que el sistema haya terminado de reiniciarse, inicie sesión con su cliente VNC. Si su sesión de VNC falla, visite el indicador de comando y ejecute el comando de inicio tightvnc (de la parte de prueba anterior) nuevamente para verificar que el archivo sea ejecutable y que la contraseña se haya guardado correctamente.
En este punto, estamos aún más avanzados en nuestra misión de controlar remotamente nuestra unidad Raspberry Pi. Con el acceso remoto a la línea de comando a través de SSH y el acceso a escritorio remoto a través de VNC, pasemos a simplificar el proceso de transferencia de archivos entre nuestra Pi y la computadora de escritorio.
Configuración y configuración de herramientas de transferencia de archivos
Como ya tenemos configurado SSH, la forma más sencilla de configurar la transferencia de archivos simples y sencillos entre nuestra Pi y las computadoras remotas es a través de una interfaz gráfica de usuario (GUI) en la conexión SSH. ¿Recuerda cómo hablamos sobre el uso de SCP a través de SSH anteriormente en el tutorial? Ejecutarlo desde la línea de comandos se vuelve realmente tedioso, muy rápido. Con un contenedor de GUI, podremos pasar más tiempo moviendo archivos y jugando con nuestra Pi y menos tiempo para picotear en el teclado.
Si bien hay una variedad de envoltorios de GUI para el comando SCP, vamos a utilizar una herramienta multiplataforma que mucha gente ya conoce, tiene y adora (e incluso puede que no sepa que realiza transferencias de SCP): FileZilla. Está disponible para Windows, OS X y Linux; puede obtener una copia aquí.
Una vez que haya instalado FileZilla, inícielo y vaya a Archivo -> Administrador del sitio. Cree una nueva entrada de sitio, asígnele un nombre y conecte el nombre de usuario y la contraseña de su Pi.
Finalmente, asegúrese de establecer el puerto en 22 y el Tipo de servidor en SFTP - SSH File Transfer Protocol. Haga clic en Conectar en la parte inferior y verá una vista similar a esta:
Sus directorios locales están en el panel de la izquierda y los directorios remotos en la Pi están en el panel de la derecha. Mover archivos entre los dos es tan simple como arrastrarlos y soltarlos.
Aprovechar la transferencia de archivos SSH existente es la forma más fácil de acceder a los archivos en el Pi sin necesidad de configuración adicional pero Si desea configurar su Pi para recibir y compartir archivos sin que el usuario remoto requiera herramientas sofisticadas (como un cliente FTP compatible con SCP como FileZilla), le recomendamos que consulte la parte de configuración de Samba de nuestra guía: Cómo activar una Raspberry Pi en un dispositivo de almacenamiento de red de baja potencia. Al leer esto, se familiarizará con la configuración de un recurso compartido básico de Samba en Pi para crear una carpeta compartida de fácil acceso para casi cualquier persona en su red sin herramientas adicionales..
Ha configurado SSH, ha configurado VNC y ha configurado un acceso simple a SFTP y / o Samba a su Pi. En este punto, puede arrancar su Raspberry Pi, quitar el monitor, el teclado y el mouse. Y guárdala como una máquina silenciosa y sin cabeza..
¿Tienes una idea para el proyecto de Raspberry Pi y te estás muriendo por escribir un tutorial para él? Comenten con los comentarios o envíenos un correo electrónico a [email protected] y haremos todo lo posible para ayudarlo..