¿Cómo agregar la clave RSA al archivo Authorized_keys?


90

Creé una clave pública RSA y quiero agregarla al authorized_keysarchivo, pero no existe tal archivo en mi máquina Ubuntu 11.10.

¿Cómo puedo agregar la clave a authorized_keys?

Respuestas:


105

Asegúrese de que al ejecutar la solución de Michael Krelin haga lo siguiente

cat <your_public_key_file> >> ~/.ssh/authorized_keys

Tenga en cuenta que el doble >sin el doble, >el contenido existente de allowed_keys se sobrescribirá (¡nuked!) Y eso puede no ser deseable


Debe incluir cómo capturar correctamente la información de la clave pública, simplemente copiarla y pegarla no es suficiente. Por ejemplo:
einarc

4
¿Puede explicar por qué no funciona copiar / pegar? Tengo mucha curiosidad.
mcsilvio

50
mkdir -p ~/.ssh/

Para sobrescribir autorizadas_keys

cat <your_key >~/.ssh/authorized_keys

Para agregar al final de claves_autorizadas

cat <your_key >>~/.ssh/authorized_keys

He generado una clave en el lado del cliente y copié esa clave en la máquina del servidor, pero usando el comando ssh 192.168.2.7 no permite el inicio de sesión.
Raji AC

¿No permite iniciar sesión diciendo qué?
Michael Krelin - hacker

al ejecutar este comando, solicita la contraseña del servidor. Quiero un inicio de sesión sin contraseña
Raji AC

¿Está la identificación (parte de publicación) en ~ / .ssh / allowed_keys en el control remoto? ¿La identificación (parte no pub) es utilizada por ssh al intentar iniciar sesión? Puede intentar especificarlo explícitamente con -i. Además, puede probar ssh -vy puede verificar los permisos de sus claves_autorizadas en el control remoto. Y revise los registros allí.
Michael Krelin - hacker

¿Podemos de alguna manera verificar si la clave ya está agregada? Como lo hace ssh-copy-id para el sistema remoto
Dmitriusan

32

Sé que estoy respondiendo demasiado tarde, pero para cualquier otra persona que necesite esto, ejecute el siguiente comando desde su máquina local

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

esto ha funcionado perfectamente bien. Todo lo que necesita hacer es reemplazar

usuario@192.168.1.1

con su propio usuario para ese host en particular


31

Ya existe un comando en la suite ssh para hacer esto automáticamente por usted. Es decir, inicie sesión en un host remoto y agregue la clave pública al archivo de claves_autorizadas de esa computadora.

ssh-copy-id -i /path/to/key/file user@host.com

Si la clave que está instalando es ~/.ssh/id_rsa, incluso puede quitar la -ibandera por completo.

¡Mucho mejor que hacerlo manualmente!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.