Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Acceso y gestión de una instancia informática de Linux con Oracle Cloud Infrastructure
Introducción
En este tutorial, explicaremos cómo acceder a la consola de una instancia de Linux para instalar aplicaciones o realizar operaciones de gestión.
Enfoques de conectividad
Se puede acceder a las instancias informáticas de Linux mediante varios enfoques. Hemos enumerado los enfoques más comunes.
-
Enfoque 1: conéctese mediante SSH a la dirección IP pública de la instancia informática mediante una clave privada SSH con el terminal macOS.
-
Enfoque 2: conéctese mediante la consola de terminal a la instancia informática mediante el nombre de usuario y la contraseña de SSH con la consola de Oracle Cloud Infrastructure (OCI) Cloud Shell.
-
Enfoque 3: conéctese mediante SSH a la dirección IP pública de la instancia informática mediante una clave privada SSH con la aplicación Royal TSX.
-
Enfoque 4: conéctese mediante SSH a la dirección IP privada de la instancia informática mediante una clave privada SSH con OCI Cloud Shell.
-
Aproximación 5: conéctese mediante SSH a la dirección IP privada de la instancia informática mediante el nombre de usuario y la contraseña de SSH con OCI Cloud Shell.
-
Enfoque 6: conéctese mediante SSH a la dirección IP privada de la instancia informática mediante una clave privada SSH con el host de OCI Bastion.
-
Enfoque 7: utilice una instancia informática de Stepstone dentro de una red virtual en la nube (VCN).
Objetivos
- Acceda y gestione una instancia informática de Linux con Oracle Cloud Infrastructure.
Enfoque 1: conexión mediante SSH a la dirección IP pública de la instancia informática mediante una clave privada SSH con el terminal macOS
Con este enfoque, nos conectaremos a una instancia de Linux mediante SSH y la dirección IP pública proporcionada por OCI para conectar directamente a la instancia mediante el terminal macOS.
-
Ejecute los siguientes comandos.
-
Utilice la interfaz de línea de comandos (CLI) para navegar a la carpeta donde se almacenan las claves públicas y privadas.
cd Downloads cd MyFreeInstanceKeys ls -l
-
Conéctese a la instancia mediante el comando SSH donde especifique la clave privada.
-
Restrinja los permisos de la clave privada y asegúrese de que el acceso esté restringido, antes de que se pueda utilizar.
chmod 600 ssh-key-2024-01-31.key
-
Conéctese a la instancia mediante el comando SSH donde especifique la clave privada.
ssh -i ssh-key-2024-01-31.key opc@xxx.xxx.xxx.229
-
Ejecute el siguiente comando para verificar la dirección IP.
ip a
-
Verifique la dirección IP.
-
Enfoque 2: Conexión a través de la consola de terminal a la instancia informática mediante el nombre de usuario y la contraseña de SSH con la consola de OCI Cloud Shell
Este enfoque se puede utilizar como puerta trasera cuando no tiene ninguna conectividad de red a la instancia y no es posible conectarse con SSH.
Requisitos previos para el enfoque 2
Primero debemos crear el nombre de usuario y la contraseña locales y, para ello, debemos iniciar sesión con SSH mediante la clave privada mediante uno de los otros enfoques. Esto se hace en el enfoque 1, 3, 4, 5 y 6.
-
Cuando iniciamos sesión con SSH utilizando una clave privada, podemos crear un nuevo nombre de usuario local y asignar una contraseña a ese nuevo nombre de usuario. Ejecute los siguientes comandos.
sudo useradd console sudo passwd console
También es posible crear un nuevo nombre de usuario y contraseña local en el proceso de creación de la instancia. Pero lo mostraremos en otro tutorial.
Continuar con el enfoque 2
Ahora que hemos creado el nombre de usuario y la contraseña locales, podemos seguir conectándonos a través de la consola de terminal a la instancia informática mediante el nombre de usuario y la contraseña SSH con la consola de OCI Cloud Shell.
Con este enfoque, nos conectaremos a una instancia de Linux mediante la consola local proporcionada por OCI para conectar directamente a la instancia mediante OCI Cloud Shell.
-
Conéctese a OCI Cloud Shell.
- En la página de detalles Instancia, desplácese hacia abajo.
- Haga clic en Conexión de consola para iniciar OCI Cloud Shell y conectarse a la consola.
-
Haga clic en Iniciar conexión de Cloud Shell.
-
La ventana de OCI Cloud Shell solo proporciona un nombre de usuario y no una contraseña.
-
Este nombre de usuario y contraseña deben crearse y no existen por defecto.
- Se abrirá la ventana de OCI Cloud Shell.
- La petición de datos proporciona un nombre de usuario.
-
Escriba el nombre de usuario y la contraseña locales en el terminal de la consola.
Enfoque 3: conexión mediante SSH a la dirección IP pública de la instancia informática mediante una clave privada SSH con la aplicación Royal TSX
Con este enfoque, nos conectaremos a una instancia de Linux mediante SSH y la dirección IP pública proporcionada por OCI para conectar directamente a la instancia mediante la aplicación Royal TSX.
-
Abra la aplicación Royal TSX y cree un nuevo documento.
- Haga clic con el botón derecho en la carpeta Conexiones.
- Haga clic en Agregar.
- Haga clic en Terminal.
-
En el separador Terminal, introduzca la siguiente información.
- Introduzca el nombre mostrado.
- Introduzca la dirección IP pública o el FQDN de la instancia en Nombre de la computadora.
- Haga clic en Credenciales.
-
En el separador Credenciales, introduzca la siguiente información.
- Asegúrese de que la Credencial está seleccionada.
- Seleccione Especificar nombre de usuario y contraseña.
- Introduzca el Usuario.
- Seleccione el separador Archivo de clave privada.
-
En el separador Private Key File (Archivo de clave privada), introduzca la siguiente información.
- Seleccione Path to Private Key File.
- Seleccione la ruta de acceso Private Key File.
- Haga clic en Aplicar y cerrar.
- Haga doble clic en la nueva conexión de creación para conectarse.
- Ejecute el comando
ip a
para revisar la dirección IP privada.
Enfoque 4: conexión mediante SSH a la dirección IP privada de la instancia informática mediante una clave privada SSH con OCI Cloud Shell
En este enfoque, nos conectaremos a la instancia de Linux mediante OCI Cloud Shell proporcionado por OCI y nos conectaremos a la instancia mediante la dirección IP privada.
-
Conéctese a la consola de OCI y haga clic en el icono de OCI Cloud Shell para abrir la consola de Cloud Shell.
-
Haga clic en Cloud Shell.
Asegúrese de que se abre la ventana de Cloud Shell.
-
Introduzca
N
para omitir el tutorial por ahora.
Para conectarse a la instancia de Linux mediante la dirección IP privada, es importante que Cloud Shell obtenga acceso a la misma subred a la que está conectada la instancia de Linux.
Para ello, podemos conectar Cloud Shell a la misma VCN y subred en la que también reside la instancia de Linux. Por defecto, la red se define en Public, pero vamos a cambiarlo creando una nueva red privada sobre la marcha.
-
Haga clic en Red y seleccione Lista de definiciones de red privada.
-
Haga clic en Create private network definition.
-
En Crear definición de red privada, introduzca la siguiente información.
- Introduzca un Nombre.
- Seleccione la VCN correspondiente en la que reside la instancia de Linux.
- Seleccione la subred en la que reside la instancia de Linux.
- Seleccione Usar red activa para activar la red privada de inmediato.
- Haga clic en Crear.
-
Tenga en cuenta que el estado de la red cambiará a la red privada recién creada con Connecting. Esto tardará unos segundos en realizarse.
- La red privada está conectada.
- Haga clic en Cerrar para cerrar la lista de definiciones de red privada.
- Ejecute el comando
ls-l
y compruebe que no tenemos la clave privada en la carpeta de inicio. - Para cargar la clave privada, haga clic en la rueda.
- Haga clic en Cargar.
- Haga clic en Seleccionar desde la computadora.
- Haga clic en Cargar.
- Seleccione la clave privada de la computadora local.
- Haga clic en Abrir.
- Revise la clave seleccionada en el paso anterior.
- Haga clic en Cargar.
- Asegúrese de que la carga ha finalizado.
- Haga clic en Ocultar.
-
Ejecute el comando
ls-l
para comprobar la clave privada.- Restrinja los permisos de la clave privada y asegúrese de que el acceso esté restringido antes de que se pueda utilizar.
- Conéctese a la instancia mediante el comando SSH y especifique la clave privada.
- Ejecute el siguiente comando para verificar la dirección IP.
- Verifique la dirección IP.
- Minimice la consola de Cloud Shell.
-
La consola de Cloud Shell se minimiza. Haga clic en Restaurar para restaurar la consola de Cloud Shell.
-
Revise la consola de Cloud Shell restaurada. Haga clic en la X para cerrar la ventana de Cloud Shell.
-
Haga clic en Salir para cerrar la ventana de Cloud Shell.
Ahora, volvemos a la visión general de la instancia.
Enfoque 5: Conexión mediante SSH a la dirección IP privada de la instancia informática mediante el nombre de usuario y la contraseña de SSH con OCI Cloud Shell
En Approach 4, hemos utilizado la clave privada para conectarse a la instancia de Linux. En este enfoque, utilizaremos el nombre de usuario y la contraseña.
-
Inicie sesión con el siguiente comando SSH con un nombre de usuario y observe que estamos recibiendo un error de permiso denegado.
Nota: Hemos utilizado el mismo usuario que hemos creado anteriormente con el nombre de usuario
console
.ssh console@10.0.0.163
-
Para probarlo y corregir el error, cree una nueva instancia informática de Linux.
Conéctese con SSH mediante una clave privada y cree un nombre de usuario y una contraseña locales en la nueva instancia de Linux.
Por defecto, la configuración de SSH de la imagen de Linux solo permitirá iniciar sesión mediante la clave privada, no con un nombre de usuario y una contraseña mediante SSH. Anteriormente, podíamos usar el nombre de usuario y la contraseña, pero eso era a través de una conexión directa a la consola.
-
Cambie la configuración en el archivo
/etc/ssh/sshd_config
.
-
Utilice el siguiente comando para cambiar el archivo
sshd_config
.sudo more /etc/ssh/sshd_config
El archivo
/etc/ssh/sshd_config
contiene estos valores:[opc@myfreeinstance2 ssh]$ sudo more /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.103 208/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER # #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # This system is following system-wide crypto policy. The changes to # crypto properties (Ciphers, MACs, ...) will not have any effect here. # They will be overridden by command-line options passed to the server # on command line. # Please, check manual pages for update-crypto-policies(8) and sshd_config(5). # Logging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO # Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #PubkeyAuthentication yes # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 # but this is overridden so installations will only check .ssh/authorized_keys AuthorizedKeysFile .ssh/authorized_keys #AuthorizedPrincipalsFile none #AuthorizedKeysCommand none #AuthorizedKeysCommandUser nobody # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication no # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes ChallengeResponseAuthentication no # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no #KerberosUseKuserok yes # GSSAPI options GSSAPIAuthentication yes GSSAPICleanupCredentials no #GSSAPIStrictAcceptorCheck yes #GSSAPIKeyExchange no #GSSAPIEnablek5users no # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. # WARNING: 'UsePAM no' is not supported in RHEL and may cause several # problems. UsePAM yes #AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes # It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd, # as it is more configurable and versatile than the built-in version. PrintMotd no #PrintLastLog yes #TCPKeepAlive yes #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #UseDNS no #PidFile /var/run/sshd.pid #MaxStartups 10:30:100 #PermitTunnel no #ChrootDirectory none #VersionAddendum none # no default banner path #Banner none # Accept locale-related environment variables AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS # override default of no subsystems Subsystem sftp /usr/libexec/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server [opc@myfreeinstance2 ssh]$
-
Agregue el siguiente código al archivo para permitir la conexión con SSH mediante el nombre de usuario y la contraseña.
PasswordAuthentication yes
-
Una vez guardado el archivo. Ejecute el siguiente comando y reinicie el servidor SSH en la instancia de Linux.
sudo systemctl restart sshd
-
Abra OCI Cloud Shell.
- Asegúrese de que Cloud Shell siga conectado a la red privada donde está disponible la imagen de Linux.
- Conéctese con el comando SSH mediante el nombre de usuario.
- Introduzca
yes
para continuar. - Introduzca la contraseña para conectarse.
Enfoque 6: conexión mediante SSH a la dirección IP privada de la instancia informática mediante una clave privada SSH con el host de OCI Bastion
Con este enfoque, nos conectaremos a la instancia de Linux mediante el servicio OCI Bastion y desde allí nos conectaremos a la instancia mediante la dirección IP privada a través de una conexión de túnel.
-
Para poder utilizar el servicio OCI Bastion, primero debemos crear el servicio OCI Bastion.
- Abra la consola de OCI y haga clic en el menú de hamburguesa.
- Haga clic en Identidad y seguridad.
- Haga clic en Bastión.
-
Haga clic en Crear bastión e introduzca la siguiente información.
- Introduzca el nombre de la base.
- Seleccione la VCN a la que desea acceder con el servicio Bastion.
- Seleccione la subred a la que desea acceder con el servicio Bastion.
- Introduzca una dirección IP o CIDR que desee permitir al servicio Bastion. Para este tutorial, utilizamos la dirección IP doméstica de la conexión ISP.
- Haga clic en Crear bastión.
-
Haga clic en el servicio Bastion recién creado.
-
Observe que el estado está definido en CREATING.
- Después de unos segundos, veremos que el estado se ha cambiado a ACTIVE.
- Haga clic en Crear sesión para crear una sesión para la instancia de Linux que desea gestionar.
- Seleccione el Tipo de Sesión como Sesión de SSH Gestionada.
- Introduzca el Usuario.
- Introduzca la instancia informática de Linux a la que desea conectarse mediante el servicio Bastion.
- Seleccione una clave pública que desee configurar para esta sesión específica.
- Asegúrese de que la clave pública está seleccionada.
- Haga clic en Crear sesión.
- Observe el siguiente error: Para crear una sesión de SSH gestionada, el plugin de Bastion debe estar activado en la instancia de destino, pero el plugin está desactivado, lo que significa que para conectarse a una instancia de Linux mediante Bastion, se debe instalar un elemento de software o plugin en la instancia de Linux y el plugin debe estar activado.
- Vamos a activar este plugin en la instancia de Linux y, en la consola de OCI, haga clic en el menú de hamburguesa.
-
Haga clic en Instancias.
-
Seleccione la instancia informática de Linux.
-
Bajar.
-
Observe que el plugin Bastion está definido como desactivado.
-
Para activar el plugin Bastion, siga las instrucciones.
- Haga clic en alternar para activar el plugin de Bastion.
-
Espere a que el estado muestre En ejecución.
Nota: Cuando cambiamos el conmutador de Desactivado a Activado, puede tardar un minuto antes de que se cambie realmente el estado, porque en segundo plano el plugin debe descargarse, instalarse e iniciarse y esto lleva tiempo.
- Vamos a volver a crear la sesión en el plugin Bastion. En la consola de OCI, haga clic en el menú de hamburguesa.
- Haga clic en Identidad y seguridad.
- Haga clic en Bastión.
-
Haga clic en el bastión.
-
Haga clic en Crear sesión para crear una sesión para la instancia de Linux que desea gestionar.
- Seleccione el Tipo de Sesión como Sesión de SSH Gestionada.
- Introduzca el Usuario.
- Seleccione la instancia informática de Linux a la que desea conectarse a través del bastión.
- Seleccione Seleccionar archivo de clave SSH.
- Seleccione una clave pública que desee configurar para esta sesión específica.
- Asegúrese de que la clave pública está seleccionada.
- Haga clic en Crear sesión.
-
Observe que el estado es Creating.
- Cuando se crea la sesión, consulte que el estado es Activo.
- Observe que la hora por defecto de la sesión es de 3 horas. Después de 3 horas la sesión se detendrá automáticamente y ya no podremos usar la sesión y necesitamos crear una nueva sesión.
- Arrastre y suelte el menú help en otro lugar para que podamos acceder al menú de sesión.
- Haga clic en tres puntos para acceder al menú de sesión.
- Seleccione Copiar comando SSH.
-
Pegue el comando SSH en un editor de texto y observe los marcadores de posición
<privatekey>
.Sustituya los marcadores de posición
<privatekey>
por el nombre de la clave privada. Utilice la clave privada que se corresponde con la clave pública utilizada al crear la sesión de Bastion.Ejemplo
-
Comando original.
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-amsterdam-1.amaaaaaaccocy5aapmrn66fdxdlg7lhefofhndmeq2ir6owe5afm2v7oghiq@host.bastion.eu-amsterdam-1.oci.oraclecloud.com" -p 22 opc@10.0.0.176
-
Comando modificado.
ssh -i ssh-key-2024-01-31.key -o ProxyCommand="ssh -i ssh-key-2024-01-31.key -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-amsterdam-1.amaaaaaaccocy5aapmrn66fdxdlg7lhefofhndmeq2ir6owe5afm2v7oghiq@host.bastion.eu-amsterdam-1.oci.oraclecloud.com" -p 22 opc@10.0.0.176
-
-
Conéctese a la instancia de Linux mediante la sesión de Bastion.
- Utilice el comando copiado completo con las claves privadas agregadas desde la computadora donde tenemos las claves privadas almacenadas mediante el terminal macOS para conectarse a la instancia de Linux a través de la sesión de Bastion.
- Introduzca yes para continuar.
- Introduzca yes para continuar.
- Ejecute el siguiente comando para verificar la dirección IP.
- Verifique la dirección IP.
-
Abra la configuración de sesión de Bastion en la consola de OCI.
- Haga clic en tres puntos para acceder al menú de sesión.
- Seleccione Suprimir sesión.
- Introduzca el nombre de la sesión para confirmar la eliminación de la sesión.
- Haga clic en Suprimir.
-
Revise el estado Suprimiendo.
Cuando se suprime la sesión, el estado se define en Suprimido.
Cuando se suprime la sesión SSH, también se termina la sesión que abrimos mediante el terminal macOS.
El plugin de Bastion no está presente.
En este enfoque, hemos activado el plugin Bastion en una instancia de Linux que ya se está ejecutando. También podemos activar el plugin de Bastion al crear una instancia desde el principio.
Seleccione las opciones Avanzadas, seleccione las siguientes opciones y continúe con la creación de la instancia.
- Haga clic en Oracle Cloud Agent.
- Seleccione Bastion.
Cuando creamos una nueva imagen desde el principio y comprobamos el estado después del plugin Bastion justo después de crear la instancia y el estado es EN EJECUCIÓN*, es posible que veamos un mensaje de error con El bastión del plugin no está presente....
Puede tardar un minuto en cambiar el estado. Porque en segundo plano el plugin necesita ser descargado, instalado e iniciado y esto lleva tiempo. Espere 5 minutos hasta que el estado cambie a En ejecución.
Cuando no se cambia el estado y el mensaje permanece Plugin Bastion not present..., puede que la instancia de Linux no pueda acceder a Internet para descargar el plugin Bastion. Solucione los problemas de Internet, NAT y gateway de servicio dentro de la VCN para asegurarse de que la instancia puede acceder a Internet.
Enfoque 7: Uso de una instancia informática Stepstone dentro de una red virtual en la nube
En este enfoque, crearemos una instancia de Linux dedicada que podamos utilizar como un tipo de base o bastión dedicado y desde allí accederemos a la otra instancia de Linux. Estamos utilizando recursos que pueden costar más dinero en comparación con el servicio OCI Bastion que ofrece Oracle de forma gratuita.
No vamos a entrar en detalles de este enfoque, ya que se trata de una combinación de los enfoques que hemos explicado anteriormente.
Pasos Siguientes
En este tutorial, tenemos todos los enfoques posibles para acceder y gestionar una instancia de Linux dentro de OCI. Podemos acceder a la instancia de Linux directamente desde Internet y la consola, o podemos utilizar un paso intermedio como OCI Cloud Shell, Bastion o una instancia dedicada.
También hemos mostrado cómo podemos conectarnos a la instancia con SSH mediante la clave privada o pública y con un nombre de usuario y contraseña locales.
Todos los enfoques de conexión posibles se muestran en la siguiente imagen.
Agradecimientos
- Autor: Iwan Hoogendoorn (especialista en red de OCI)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Access and Manage a Linux Compute Instance using Oracle Cloud Infrastructure
F93486-02
August 2024