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.
Ejecute el siguiente comando para abrir sshd_config Archivo con el editor nano para agregar algunas configuraciones necesarias.
$ sudo Nano /Etc/ssh/sshd_configAgregue 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ñorPermitRootLogin Sí señor
Ejecute el siguiente comando para reiniciar el servicio SSH.
$ servicio sudo ssh empezar de nuevoSintaxis:
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 hostVarias 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-VirtualBoxVerá 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-VirtualBoxVerá 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ñadirEjecute 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-VirtualBoxEl 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-VirtualBoxComo 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.