La forma principal de conectarse a un servidor Linux es a través de Protocolo SSHEste tipo de conexión es segura, ya que todos los datos que se transfieren a través de ella están cifrados. Para... a establecer conexión SSH Debes configurarlo en el servidor remoto al que quieres conectarte y en el cliente del lado del usuario. Existe una gran cantidad de software para la conexión SSH. En Linux, el paquete OpenSSH es el más popular, y para Windows se usa principalmente PuTTY.
Analicemos con más detalle la configuración del servidor usando Ubuntu Server 18.04 como ejemplo y luego intentemos conectarnos al servidor desde Linux y Windows.
Todo lo que hagamos se realizará desde la cuenta de un usuario normal. En este caso, creamos un usuario "Michael", Y"raíz”La cuenta está deshabilitada de forma predeterminada.
Configuración del lado del servidor
Configure el paquete ejecutando este comando:
sudo apt install openssh-server
Una vez finalizada la instalación, asegúrese de que el servicio esté en ejecución. Utilice este comando:
systemctl status sshd
Estado "Activo (en ejecución)” significa que el servicio está habilitado y funcionando normalmente.
Para evitar que el firewall bloquee las conexiones entrantes, asegúrese de deshabilitarlo, porque no vamos a configurar el firewall de red en este artículo.
Utilice este comando:
sudo ufw disable
En esta etapa, ya puede conectarse al servidor. Con la configuración predeterminada, el servidor permite la conexión al puerto estándar 22 mediante autenticación con contraseña.
Conexión SSH desde Linux
Normalmente, el cliente OpenSSH se instala en Linux por defecto y no requiere configuración manual adicional. La conexión se puede establecer desde la terminal con el comando ssh. En este caso, los parámetros serían el nombre de usuario y la dirección IP del servidor remoto. En el servidor de prueba que usamos como ejemplo, solo hay una cuenta "mihail", así que usaremos esta.
ssh [email protected]
En la primera conexión tendrás que confirmar la adición de la clave pública del servidor a la base de datos, así que responde “síDespués, puede ingresar la contraseña. Si la conexión se establece correctamente, verá un texto de bienvenida en la línea de comandos del servidor. Todos los comandos se ejecutarán directamente en el servidor remoto.
SSH desde Windows
Abra Putty y configure los parámetros de conexión. Asegúrese de que el interruptor "Tipo de conexión" se gira hacia SSHIntroduzca la dirección IP en “Nombre de hostcampo ", valor predeterminado 22 dentro "Puerto"Y haga clic en"Abra el.
En la primera conexión masilla Le pedirá que confirme que confía en este servidor, así que haga clic en “Sí"
Después de ingresar el nombre de usuario y la contraseña, verá la línea de comando del servidor remoto.
Autenticación por clave. Mayor nivel de seguridad.
Cuando un cliente intenta establecer una conexión segura con el servidor mediante SSH, antes de permitir la conexión, el servidor debe autenticar (verificar) al cliente. Como se mencionó anteriormente, la autenticación basada en contraseña suele usarse por defecto. No ofrece una seguridad robusta, ya que siempre existe la posibilidad de forzarla. Además, la autenticación con contraseña no es aplicable a conexiones SSH mediante scripts.
Para este tipo de tareas, existe un método especial de autenticación por clave. El cliente genera claves privadas y públicas, y luego envía la clave pública al servidor. Posteriormente, no se necesita contraseña para conectarse al servidor, ya que la autenticación se realiza con las claves públicas y privadas del cliente. Para garantizar un buen nivel de seguridad, se debe restringir el acceso a la clave privada. Dado que la clave privada se almacena en el lado del cliente y no se transfiere a través de la red, este método se considera más seguro.
Autenticación por clave en Linux
Generemos las claves públicas y privadas en el cliente con la utilidad ssh-keygen. La herramienta sugerirá cambiar la ruta de la clave privada e introducir una contraseña para mayor seguridad. Mantenga todos los parámetros predeterminados pulsando Enter en todas las solicitudes.
Como resultado, en el directorio de inicio de la carpeta .ssh encontrará dos archivos generados: id_rsa y id_rsa.pub que contienen claves privadas y públicas respectivamente.
Después de eso, deberá enviar la clave pública al servidor. Para ello, copie el contenido del archivo "id_rsa.pub"archivo en"~ / .ssh / Authorizedkeys" en el servidor. Vamos a la forma más fácil con la ayuda de "ssh-copy-id". Introduzca el nombre de usuario y la dirección IP del servidor, como en una conexión normal. Tras introducir la contraseña, la clave pública del cliente se copiará automáticamente al servidor. Ejecute este comando:
ssh-copy-id [email protected]
Después de hacer todo esto, el servidor ya no requerirá que ingreses la contraseña.
Autenticación por clave en Windows
Abra el MASILLA GEN y haga clic en "Generar”. Para generar las claves, solo necesitas mover el ratón sobre la pantalla y la herramienta generará las claves aleatoriamente.
Una vez generadas las claves, haga clic en “Guardar clave privada" y guárdalo en el archivo con la clave privada en tu disco. Puedes configurar la ruta que prefieras, pero más adelante tendrás que especificarla en Putty. Luego, copia la clave pública desde la parte superior de la ventana.
Enviemos la clave pública simplemente copiándola a la terminal. Abrir masilla y conéctese al servidor como de costumbre. Ahora vamos a crear ".ssh / claves_autorizadas" y restringir el acceso de otros usuarios al archivo, de modo que solo esté disponible para el creador.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Después de crear el archivo, introduzca la clave pública del cliente. En la etapa anterior, copiamos la clave pública al portapapeles. Para guardar el contenido del portapapeles en el archivo, use el comando cat y redirija la salida.
cat > .ssh/authorized_keys
Después de introducir el comando, haga clic derecho en la ventana de terminal y pegue el contenido del portapapeles. Para confirmar, pulse "Ctrl + D”acceso directo y desconectarse del servidor.
Ahora especifiquemos la ruta a la clave privada en Putty y conectémonos nuevamente al servidor.
A partir de ahora, para conectarse al servidor, solo necesitará introducir su nombre de usuario. Si intenta conectarse desde otro dispositivo que no tenga la clave privada correcta, el servidor solicitará la contraseña. Una vez configurada la autenticación basada en clave, podrá denegar el acceso mediante contraseña.