Parte 1.1: Crear una máquina virtual Linux en Azure y conectarse a ella
Se aplica a: .NET Core 2.1, .NET Core 3.1, .NET 5
Objetivo de esta parte
Esta parte del aprendizaje está destinada a usuarios que no tienen ninguna experiencia de Linux. Trata los siguientes temas:
Cómo usar Windows Azure para crear una máquina virtual Linux.
Nota
Puede omitir este paso si ya tiene una máquina virtual Linux que usar en el aprendizaje.
Cómo conectarse a una máquina virtual Linux desde un Windows equipo basado en linux.
Cómo administrar tareas básicas cuando se trabaja en Linux, como crear y eliminar archivos y carpetas, ejecutar comandos como usuario con privilegios e instalar aplicaciones mediante administradores de paquetes.
Para asegurarse de que todos los laboratorios de esta guía funcionan según lo previsto, se recomienda usar una distribución lts de Ubuntu 18.04 porque esa es la distribución que se usó para crear los laboratorios.
Esta parte (1.1) contiene los siguientes pasos:
Si está familiarizado con Linux, es posible que desee omitir esta parte por completo e ir directamente a la parte 1.2:directorios especiales de Linux, usuarios elevados y administradores de paquetes .
Crear una máquina virtual Linux en Windows Azure
La primera decisión es qué distribución de Linux desea usar. Hay diferentes sabores y distribuciones del sistema operativo Linux, comúnmente denominados "distros". De acuerdo con este Project documentación de Linux, hay muchas similitudes entre las distintas distribuciones. Los comandos que se usan en esta serie son casi los mismos para cada distro de Linux, aunque los administradores de paquetes de instalación pueden ser diferentes. Sin embargo, las instrucciones generales serán las mismas independientemente del distro que se utilice.
Nota
Como se explica en Máquinas virtuales Linux en Azure,Microsoft Azure admite varias distribuciones populares de Linux proporcionadas y mantenidas por nuestros partners. Puede encontrar distribuciones como Red Hat Enterprise, CentOS, SUSE Linux Enterprise, Debian, Ubuntu, CoreOS, RancherOS, FreeBSD y otras en Azure Marketplace.
Las instrucciones para crear una máquina virtual Linux en Azure se explican claramente en QuickStart: Create a Linux virtual machine in the Azure Portal.
Nota
En este artículo también se proporcionan instrucciones para conectarse a la máquina virtual e instalar el servidor web Nginx. Es su elección seguir estas instrucciones e instalar Nginx. Sin embargo, no tiene que decidirlo todavía porque la instalación y la configuración de Nginx se tratan en la siguiente parte.
Este tutorial no duplicará esos pasos porque las instrucciones son lo suficientemente claras. Sin embargo, es importante resaltar algunos puntos clave sobre cómo crear la máquina virtual.
Autenticación
Puede elegir entre los siguientes tipos de autenticación al crear la máquina virtual:
- Conectar mediante una contraseña
- Conectar mediante una clave pública SSH
Aunque el uso de la autenticación con contraseña es aceptable en el contexto de este aprendizaje, se recomienda usar la opción de clave pública SSH porque proporciona una mejor seguridad. Además, esta guía usa esta opción de forma predeterminada al conectarse a una máquina virtual Linux.
Azure genera automáticamente un par de claves SSH y le permite guardarlo en el disco para que pueda usarlo más adelante cuando se conecte a la máquina virtual Linux. Esta acción simplifica el proceso de conexión.
Seleccione la clave pública SSH y generar nuevas opciones de par de claves al crear la cuenta de administrador.
Para el campo Nombre de usuario, puede elegir el nombre que desee entre los nombres que proporcionó al crear la máquina virtual.
Reglas de puerto de entrada
Para habilitar la conectividad con la máquina virtual recién creada, seleccione SSH y HTTP para las reglas de puerto de entrada. Esto se debe a que usará el protocolo SSH para conectarse a la máquina virtual y usará el protocolo HTTP cuando acceda ASP.NET Core la aplicación que se ejecuta en Linux.
Guardar la clave privada
Dado que la opción de clave pública SSK está seleccionada, verá el siguiente mensaje al crear la máquina virtual:
Generar nuevo par de claves
Seleccione Descargar clave privada y crear recurso y, a continuación, guarde la clave privada en el disco local. La extensión del archivo es .pem (Privacy-Enhanced Mail).
Nota
La clave privada se usa para abrir la puerta cuando se conecta a la máquina virtual Linux. Por lo tanto, no debe compartir esta clave con otras personas.
Determinar la dirección IP
Después de crear la máquina virtual, vaya a la página de recursos y determine y anote la dirección IP pública de la máquina virtual. Usará esta dirección IP para conectarse a la máquina virtual.
Nota
Se recomienda usar una dirección IP estática porque es posible que tenga que reiniciar el equipo durante las pruebas. El uso de una DIRECCIÓN IP pública dinámica hará que se asigne otra dirección IP a la máquina virtual después de reiniciarla.
Conectar a la máquina virtual Linux
Ahora que tiene una máquina virtual Linux y conoce su dirección IP, también tiene la clave privada para autenticarse mediante la autenticación de clave pública SSH y puede iniciar sesión. Es un buen momento para analizar algunas terminologías que encontrará al conectarse a la máquina virtual Linux.
No usará una GUI para conectarse a la máquina virtual Linux y administrarla. En su lugar, usará un terminal para conectarse y un shell para ejecutar comandos.
El UNIX terminal
El término "terminal" se basa en los primeros modelos de equipo que ocupaban toda una sala y se controlaban en un terminal físico a través de lectores de tarjetas de punzones y, posteriormente, teclados. Hoy en día, un terminal es una representación de software de terminales físicos. PuTTY, por ejemplo, es un terminal.
El UNIX shell
El UNIX shell es una interfaz entre el usuario y UNIX sistemas operativos parecidos. Un usuario está en un shell tan pronto como el usuario inicia sesión en el sistema. El shell proporciona un intérprete de línea de comandos (CLI) que lee y ejecuta comandos y scripts para controlar el sistema y, a continuación, muestra el resultado resultante.
El shell también se conoce como "línea de comandos" o "terminal", y estos términos son intercambiables. El shell proporciona algunos comandos y un lenguaje de programación que puede usar para escribir scripts. Hay varias implementaciones de shell diferentes. incluyendo el popular Bash.
En este artículo se tratan las siguientes opciones de conexión:
- Uso del terminal SSH de PowerShell
- Uso del terminal SSH PuTTy
Conectar mediante el terminal SSH de PowerShell
Si se está ejecutando en Windows 10, versión 1809 versión posterior, puede usar el cliente SSH de PowerShell integrado. Para conectarse a una máquina virtual, abra PowerShell y ejecute un comando SSH con el siguiente formato:
ssh -i <path to .pem private key file> <user>@<host>
Por ejemplo:
ssh -i d:\Learn\Linux\myPrivateKey.pem <UserName>@127.0.0.1
Si nunca se ha conectado a este servidor antes, recibirá el siguiente mensaje de advertencia:
La autenticidad del host ' <HostName> ' no se puede establecer.
Si escribe sí, recibirá la siguiente advertencia más:
Básicamente, el cliente SSH quiere que la clave privada sea "más privada". En otras palabras, la clave privada que se encuentra en el archivo .pem es accesible para otros usuarios del equipo al que se está conectando. La expectativa es que una clave privada solo sea accesible para el usuario que inicializará las conexiones a la máquina virtual Linux.
Para solucionar este problema, cambie los permisos en ese archivo de clave privada. Para ello, siga estos pasos:
Busque y haga clic con el botón secundario en el archivo de clave privada, seleccione Propiedades y, a continuación, seleccione la pestaña Seguridad. En este ejemplo, verá los siguientes permisos que se heredan de la carpeta.
En este ejemplo, solo desea que el grupo SYSTEM y su cuenta tengan acceso a este archivo. Dado que los permisos se heredan de la carpeta, debe deshabilitar esa herencia antes de poder editar los permisos. Seleccione Avanzadas y, a continuación, seleccione Deshabilitar herencia. Se le pedirá la siguiente pregunta:
¿Qué desea hacer con los permisos heredados actuales?
Seleccione Convertir permisos heredados en permisos explícitos en este objeto.
Quite todos los grupos menos SYSTEM y, a continuación, agregue su propia cuenta. Los siguientes son los permisos finales que se conceden para la clave privada.
Vuelva a intentar conectarse con el mismo comando SSH. Esta vez, la conexión debe establecerse sin errores.
Conectar mediante PuTTY
PuTTY es uno de los terminales más populares para conectarse a una máquina virtual Linux. Puede descargar e instalar PuTTY de forma gratuita Windows en el equipo cliente.
PuTTY es fácil de usar. Sin embargo, tenga en cuenta que PuTTY no acepta el formato PEM para la clave privada. Por lo tanto, debe convertir la clave al formato que PuTTY espera ver (PPK). Afortunadamente, la conversión del formato PEM también es fácil porque el generador de claves PuTTY (PuTTYgen) está instalado junto con el software de terminal.
Para convertir archivos, siga estos pasos:
Inicie PuTTYgen y asegúrese de que RSA está seleccionado como el tipo de clave que se va a generar.
Seleccione Cargar para seleccionar el archivo de clave privada que tiene la extensión .pem.
Asegúrese de que todos los archivos están seleccionados porque la selección predeterminada de PuTTYgen es PPK.
Busque y abra el archivo PEM deseado. Debería ver el siguiente mensaje que indica que PuTTYgen pudo importar la clave. Ahora, puede guardar la clave privada en formato PPK.
Seleccione Aceptar y, a continuación, seleccione Guardar clave privada:
PuTTYgen le pedirá que confirme que desea guardar la clave sin una frase de contraseña. Seleccione sí y guarde la clave privada en formato PPK.
Ahora, ya está listo para conectarse a la máquina virtual mediante el archivo PPK.
Inicie PuTTY. Usará el mismo formato <username> @ <host | IP address> para la información de conexión. Puede guardar esta información de sesión para volver a usarla más adelante. La siguiente captura de pantalla muestra el cuadro de diálogo Configuración de PuTTY después de guardar la sesión actual. El cuadro de diálogo muestra la información del host en formato y el nombre de la sesión después de seleccionarla <username> @ <host | IP address> en la lista disponible.
Dado que usa la autenticación de clave pública SSH, debe decir a PuTTY dónde encontrar la clave privada. Para ello, expanda SSH y seleccione Auth en el panel Categoría y, a continuación, seleccione Examinar.
Busque y seleccione el archivo PPK que creó con PuTTYgen.
Seleccione Abrir para iniciar la sesión.
Nota
Cuando se conecta por primera vez a la máquina virtual, recibe el siguiente mensaje de advertencia:
La clave de host del servidor no se almacena en caché en el Registro. No tiene ninguna garantía de que el servidor es el equipo que cree que es.
Este mensaje es similar al mensaje que se generó la primera vez que se conecta a la máquina virtual mediante un cliente SSH en PowerShell.
Seleccione Sí para conectarse a la máquina virtual.
Nota
Usará SSH de PowerShell para conectarse a la máquina virtual durante el resto de estos tutoriales.
Siguientes pasos
Parte 1.2: operaciones básicas en Linux
Aviso de declinación de responsabilidades sobre la información de terceros
Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.