

# Conexión a la instancia de Linux mediante un cliente SSH
<a name="connect-linux-inst-ssh"></a>

Puede utilizar Secure Shell (SSH) para conectarse a la instancia de Linux desde el equipo local. Para obtener más información sobre otras opciones, consulte [Conexión con instancias EC2](connect.md).

**nota**  
Si recibe un error al intentar conectarse a su instancia, asegúrese de que la instancia cumple con todos los [Requisitos previos para la conexión SSH](#ssh-prereqs-linux-from-linux-macos). Si cumple con todos los requisitos previos y sigue sin poder conectarse a su instancia de Linux, consulte [Solución de problemas de conexión a la instancia de Linux de Amazon EC2](TroubleshootingInstancesConnecting.md).

**Topics**
+ [

## Requisitos previos para la conexión SSH
](#ssh-prereqs-linux-from-linux-macos)
+ [

## Conexión a la instancia de Linux mediante un cliente SSH
](#connect-linux-inst-sshClient)

## Requisitos previos para la conexión SSH
<a name="ssh-prereqs-linux-from-linux-macos"></a>

Antes de conectarse a la instancia de Linux mediante SSH, complete las siguientes tareas.

**Complete los requisitos previos generales.**  
+ Verifique que su instancia ha pasado las comprobaciones de estado. Puede que transcurran unos minutos hasta que la instancia esté lista para aceptar solicitudes de conexión. Para obtener más información, consulte [Ver comprobaciones de estado](viewing_status.md).
+ [Obtenga los detalles necesarios de la instancia](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Busque la clave privada y establezca permisos.](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obtenga la huella digital de la instancia](connection-prereqs-general.md#connection-prereqs-fingerprint).

**Permita el tráfico SSH entrante desde su dirección IP.**  
Asegúrese de que el grupo de seguridad asociado a la instancia permita el tráfico SSH que ingresa desde la dirección IP. Para obtener más información, consulte [Reglas para conectarse a las instancias desde un equipo](security-group-rules-reference.md#sg-rules-local-access).

**Instale un cliente SSH en su equipo local (según sea necesario).**  
Es posible que el equipo local tenga instalado un cliente SSH de forma predeterminada. Para comprobar esto, escriba el siguiente comando en una ventana del terminal. Si su equipo no reconoce el comando, debe instalar un cliente SSH.  

```
ssh
```
A continuación, se muestran algunas opciones posibles para Windows. Si su equipo ejecuta un sistema operativo diferente, consulte la documentación de ese sistema operativo para ver las opciones del cliente SSH.

## Instale OpenSSH en Windows
<a name="openssh"></a>

Tras instalar OpenSSH en Windows, puede conectarse a la instancia de Linux desde su equipo de Windows mediante SSH. Antes de comenzar, asegúrese de que cumple con los siguientes requisitos.

**Versión de Windows**  
La versión de Windows de su equipo debe ser Windows Server 2019 o posterior.  
En su lugar, para las versiones anteriores de Windows, descargue e instale [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/wiki).

**Requisitos de PowerShell**  
Para instalar OpenSSH en el sistema operativo Windows mediante PowerShell, debe ejecutar la versión 5.1 o una posterior de PowerShell, y su cuenta debe pertenecer al grupo de administradores integrado. Ejecute `$PSVersionTable.PSVersion` desde PowerShell para comprobar la versión de PowerShell.  
Para comprobar si pertenece al grupo de administradores integrado, ejecute el siguiente comando de PowerShell:  

```
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
```
Si pertenece al grupo de administradores integrado, la salida es `True`.

Para instalar OpenSSH para Windows mediante PowerShell, ejecute el siguiente comando de PowerShell.

```
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

A continuación, se muestra un ejemplo del resultado.

```
Path          :
Online        : True
RestartNeeded : False
```

Para desinstalar OpenSSH de Windows mediante PowerShell, ejecute el siguiente comando de PowerShell.

```
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

A continuación, se muestra un ejemplo del resultado.

```
Path          :
Online        : True
RestartNeeded : True
```

## Instalar Windows Subsystem para Linux (WSL)
<a name="WSL"></a>

Tras instalar WSL en Windows, puede conectarse a la instancia de Linux desde su equipo de Windows mediante las herramientas de línea de comandos de Linux, como un cliente SSH.

Siga las instrucciones en [Instalar el Windows Subsystem para Linux en su instancia de Windows de EC2](install-wsl-on-ec2-windows-instance.md). Si sigue las instrucciones de la guía de instalación de Microsoft, se instalará la distribución Ubuntu de Linux. Si lo prefiere, puede instalar una distribución de Linux diferente.

En una ventana de terminal de WSL, copie el archivo `.pem` (para el par de claves que especificó al lanzar la instancia) de Windows a WSL. Anote la ruta completa al archivo `.pem` en WSL que utilizar al conectar a la instancia. Para obtener información acerca de cómo especificar la ruta a su disco duro de Windows, consulte [How do I access my C drive?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-access-my-c--drive-)

```
cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem
```

Para obtener información sobre la desinstalación de Windows Subsystem for Linux, consulte [How do I uninstall a WSL Distribution?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-uninstall-a-wsl-distribution-)

## Conexión a la instancia de Linux mediante un cliente SSH
<a name="connect-linux-inst-sshClient"></a>

Para conectarse a la instancia de Linux mediante un cliente SSH, use el siguiente procedimiento.

**Para conectarse a la instancia mediante un cliente SSH**

1. Abra una ventana del terminal en su equipo.

1. Utilice el comando **ssh** para conectarse a la instancia. Necesita los detalles de la instancia que recopiló como parte de los requisitos previos. Por ejemplo, necesita la ubicación de la clave privada (archivo `.pem`), el nombre de usuario y el nombre de DNS público o la dirección IPv6. A continuación, se muestran ejemplos de comandos.
   + (DNS público) Para utilizar el nombre de DNS público, escriba el siguiente comando.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
     ```
   + (IPv6) Como alternativa, si la instancia tiene una dirección IPv6, escriba el siguiente comando para utilizar la dirección IPv6.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@2001:db8::1234:5678:1.2.3.4
     ```

   A continuación, se muestra un ejemplo de respuesta.

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
   ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
   Are you sure you want to continue connecting (yes/no)?
   ```

1. (Opcional) Verifique que la huella digital en la alerta de seguridad coincida con la huella digital. Si estas huellas digitales no coinciden, alguien podría intentar un ataque de intermediarios o man-in-the-middle. Si coinciden, continúe con el siguiente paso. Para obtener más información, consulte [Obtener la huella digital de la instancia](connection-prereqs-general.md#connection-prereqs-fingerprint).

1. Escriba **yes**.

   Debería ver una respuesta como lo siguiente:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
   ```