GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo usar ssh-copy-id en Ubuntu

Una de las herramientas útiles de SSH es ssh-copia-id que se utiliza para instalar la clave SSH en el servidor remoto para iniciar sesión en el servidor sin proporcionar la contraseña de inicio de sesión. El inicio de sesión único y el inicio de sesión automatizado sin contraseña a través de SSH se pueden implementar fácilmente con esta herramienta. Copia las claves públicas a las del host remoto ~/.ssh/autorizado _keys creando el archivo y el directorio según sea necesario, pero no cambia los permisos de un archivo o carpeta existente. En este tutorial se explicó cómo se puede usar el comando ssh-copy-id para la conexión SSH.

Requisitos:

Antes de comenzar con los pasos de este tutorial, debe completar los siguientes pasos.

Habilite el servicio SSH en Ubuntu si no se ha habilitado previamente.
Genere los pares de claves SSH para ejecutar los comandos en el servidor remoto. Ejecute el siguiente comando para crear la clave pública y la clave privada. La clave privada se almacena en el servidor remoto y las claves públicas se almacenan de forma segura en el cliente.

$ ssh-keygen -T rsa

Ejecute el siguiente comando para abrir sshd_config Archivo con el editor nano para agregar algunas configuraciones necesarias.

$ sudo Nano /Etc/ssh/sshd_config

Agregue las siguientes líneas al archivo para habilitar el inicio de sesión raíz y la autenticación basada en contraseña.

Autenticación de contraseña Sí señor

PermitRootLogin Sí señor

Ejecute el siguiente comando para reiniciar el servicio SSH.

$ servicio sudo ssh empezar de nuevo

Sintaxis:

La sintaxis del comando ssh-copy-id se muestra a continuación. Admite varias opciones que se explicarán más adelante.

ssh-copy-id [-lv] [-i archivo de claves] [-o opción][-p puerto] [usuario@]Nombre de host

Varias opciones del comando ssh-copy-id:

El propósito de usar diferentes opciones de los comandos ssh-copy-id se ha descrito en esta parte del tutorial.

oportunidad propósito
-i archivo de claves Se utiliza para copiar la clave pública que se encuentra en un archivo . Se puede utilizar varias veces.
-l Se utiliza para copiar las claves que tiene actualmente el agente ssh. Se utiliza por defecto cuando no se especifica la opción -i.
opción -o ssh Se utiliza para referirse a la opción directamente. para transmitir ssh. Se puede utilizar varias veces.
-p puerto Se utiliza para conectarse al puerto especificado en el host remoto en lugar del puerto predeterminado 22.
-v Se usa para pasar el valor de -v a ssh.

Copiar la clave al servidor:

Debe autorizar la clave pública en la computadora del servidor para establecer la conexión SSH sin usar una contraseña. Después de crear la clave pública, el comando ssh-copy-id puede agregar la clave como clave autorizada en la computadora del servidor.

Ejecute el siguiente comando en la computadora del servidor para agregar una clave pública recién creada como la clave autorizada del servidor.

$ ssh-copy-id fahmida@fahida-VirtualBox

Verá el siguiente resultado si la clave pública ya existe en el servidor remoto; de lo contrario, se agrega la clave.

Se mencionó anteriormente que la opción -i se usa con el comando ssh-copy-id para agregar la clave pública del archivo. Si guardó la clave pública recién creada en el archivo predeterminado, el nombre del archivo es id_rsa.pub . Sin embargo, especificó un nombre de archivo de su elección al crear los pares de claves y luego usó ese nombre de archivo con la opción -i. Guardé la clave pública en el archivo predeterminado.

Ejecute el siguiente comando en la computadora del servidor para agregar la clave pública a la computadora del servidor. El comando copia la clave en el servidor y lo configura para agregar la clave a authorized_keys Archivo para acceder al servidor.

$ ssh-copy-id -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Verá el siguiente resultado si la clave pública no se ha agregado previamente en la computadora del servidor.


Compruebe la conexión:

Después de agregar la clave al servidor, debe verificar que la máquina cliente pueda conectarse al servidor. El nombre de usuario de la computadora del servidor es 'fahmida', y la computadora del cliente es 'yesmin' aquí. Así que inicie sesión en la computadora del cliente primero para probar la conexión.

Ejecute el siguiente comando para agregar la identidad del servidor a la computadora cliente.

$ ssh-añadir

Ejecute el siguiente comando ssh sin opciones para conectarse a la computadora del servidor. Si la autenticación basada en contraseña está habilitada en la computadora del servidor, el usuario debe ingresar una contraseña válida para conectarse al servidor.

$ ssh fahmida@fahida-VirtualBox

El siguiente resultado muestra que la identidad del servidor se ha agregado a la máquina cliente. A continuación, la contraseña del usuario del servidor solicitaba la conexión, ya que la autenticación basada en contraseña estaba activada en la computadora del servidor. El nombre de usuario se cambia de 'yesmin' a 'fahmida' en el símbolo del sistema, lo que indica que la conexión se estableció correctamente después de ingresar la contraseña válida.

Para especificar el nombre de archivo de la clave pública con la ubicación para conectarse al servidor, ejecute el siguiente comando ssh con la opción -i. Es necesario cuando guarda la clave pública en el nombre de archivo personalizado. Usé el nombre de archivo predeterminado id_rsa en el momento de la generación de claves.

$ ssh -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Como antes, se le pedirá la contraseña para conectarse al servidor. El resultado muestra que la conexión se estableció correctamente y que el nombre de usuario del aviso ha cambiado. Puede modificar el archivo de configuración del servidor para deshabilitar la autenticación basada en contraseña si no desea proporcionar una contraseña al conectarse al servidor.

Diploma:

El uso del comando ssh-copy-id para conectarse al host remoto se ha descrito en este tutorial utilizando dos cuentas de usuario del host local para ayudar a los lectores a comprender cómo funciona este comando.


Ubuntu
  1. Cómo configurar y usar el servidor FTP en Ubuntu Linux

  2. Cómo instalar MySQL en Ubuntu 18.04

  3. Cómo instalar Zimbra 8.6 en el servidor Ubuntu 14.04

  4. Cómo instalar y usar Telnet en Ubuntu 20.04 LTS

  5. Cómo utilizar el disco del servidor de Ubuntu

Cómo instalar el servidor OpenSIPS en Ubuntu 15.04

Cómo configurar OpenVPN en Ubuntu 16.04

Cómo usar SSH para conectarse a un servidor remoto en Ubuntu 20.04 LTS

Cómo usar Ubuntu

Cómo usar el cifrado de correo electrónico en Ubuntu

Cómo instalar Plex Media Server en Ubuntu 16.04 Server/Desktop