¿Cómo generar una clave pública-privada usando ssh-keygen y autorizarla?

19

Quiero generar una clave pública-privada en el servidor 1 y almacenarla en una ubicación que no sea la ubicación predeterminada.

A partir de entonces, guarde la clave pública en el Servidor 2; una vez más, NO en la ubicación predeterminada.

Luego, convierta esta clave en una clave autorizada.

Sin embargo, no puedo encontrar el authorized_keysarchivo en la ~/.sshcarpeta. ¿Cómo lo autorizo?

Aditya
fuente
1
ssh-keygen es el comando para generar claves. Solicita la ubicación del archivo de clave durante la creación. Creo que debe crear la clave autorizada del archivo si no tiene una
Sagarchalise

Respuestas:

22
  1. Ejecutar ssh-keygen -f filename.
  2. correr scp filename username@server:filename-on-server
  3. Inicie sesión en el servidor y ejecute cat filename-on-server >> ~/.ssh/authorized_keys

También puede reemplazar los pasos 2 y 3 con ssh-copy-id -i filename username@server.

Mikel
fuente
Me sale un error: demasiados argumentos
IgorGanapolsky
@Igor en qué paso?
Mikel
1
¿No debería agregar filename.pub en lugar de nombre de archivo (que será su clave privada?)
Samuel
1

Usa el ssh-keygencomando. En el servidor (donde desea que ssh) almacene la clave pública en el archivo ~/.ssh/authorized_keys. Si aún no tiene un directorio .ssh dentro de su hogar (~), créelo (también tenga cuidado: parece que sshd es exigente, por razones de seguridad, que ningún otro usuario puede leer ese archivo / directorio, es mejor emitirlo). chmod 700 en su directorio .ssh y chmod 600 en el archivo que contiene).

En la máquina desde la que desea ssh ("cliente"), puede usar la clave privada para ssh a su servidor. Puede almacenarlo en cualquier lugar, luego puede usar el -iinterruptor de ssh, para dar la clave pública que se usará. Escribo esto, ya que declaró que "no se almacena en la ubicación predeterminada". La ubicación predeterminada sería file id_dsa(para la clave DSA) dentro de su directorio .ssh. Entonces no necesita el -iinterruptor para especificar su clave, ya que se seleccionará desde allí automáticamente.

LGB
fuente
1

Parece que ya has hecho las llaves. Si no, simplemente ejecute ssh-keygen y acepte los valores predeterminados. Haga usted mismo el archivo authorised_keys:touch authorized_keys

Cuando guarde sus claves privadas en una ubicación no estándar, asegúrese de usar -i: ssh -i /path/to/privatekey user@host

Aquí hay un buen artículo sobre ssh-keygen y el uso de claves_autorizadas para simplificar los inicios de sesión de ssh:

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

djeikyb
fuente