¿Cómo puedo ingresar a un cuadro como otro usuario dado que el usuario host no tiene clave ssh en la máquina remota?

13

Digamos que mi nombre de usuario de mi máquina Mac es John.

Tengo una cuenta de Slothost totalmente configurada. Tenga en cuenta que en este segmento no hay clave ssh para John.

Ahora configuro este cuadro para acceso ssh para la implementación del usuario.

En mi máquina Mac tengo la clave privada para la implementación del usuario. Slicehost tiene clave pública para la implementación del usuario.

De nuevo, slicehost no tiene nada para el usuario John.

Si quiero ingresar en el cuadro de sliceghost a medida que la implementación del usuario, ¿tengo que poner allí también la clave pública de John?

usuario35340
fuente
En aras de la completitud, agregaría este enlace para poder consultarlo más adelante. gist.github.com/df7d13a0556cd4a1bc13
user35340

Respuestas:

22

Algo así como.

Debe poner su clave pública para la cuenta de la que proviene en el servidor remoto. Si esa es su clave John, coloque esa clave en el servidor al que se está conectando utilizando la cuenta adecuada para ese servidor.

En su caso, se está conectando como despliegue. Entonces, cuando te conectes, escribirás:

ssh deploy@slicehost

Si su clave para John está en el archivo .ssh / Authorized_keys de la implementación de la cuenta , obtendrá acceso directo.

Jim
fuente
1
eso no vence el propósito de iniciar sesión como alguien más. Entonces, en este caso, parece que necesito poner una clave pública para John e implementarla en el archivo autorizado_claves.
user35340
3
No. Hacemos esto todo el tiempo para las copias de seguridad sftp. Generamos un par de claves públicas privadas en cualquier sistema que necesitemos respaldar. Ponemos la clave pública para esa cuenta / máquina en nuestro servidor de respaldo bajo un usuario, usuario de respaldo, por ejemplo. Luego, para hacer una copia de seguridad desde la máquina del cliente, enviamos a backup-user @ backup_machine. El usuario en la máquina del cliente no importa. Simplemente importa que una clave pública para esa máquina esté en el archivo autorizado_claves en el servidor de respaldo en el directorio .ssh de la cuenta de usuario de respaldo. Funciona de maravilla.
Jim
1

No. El nombre de usuario no tiene nada que ver con el par de claves pública / privada. No está registrado en ninguna parte en ninguna de las teclas. Siempre que coloque la clave pública en el .ssh/authorized_keysarchivo de un usuario, puede iniciar sesión como ese usuario utilizando la clave privada.

Kamil Kisiel
fuente
Solo trato de asegurarme de que entiendo correctamente. Siempre que John tenga la clave privada para la implementación y la clave pública para la implementación esté en el archivo autorizado_claves, John debería poder iniciar sesión como implementación.
user35340
Eso no parece funcionar para mi - Copié el .ssh.authorized_keysde una cuenta a la otra pero aún no puedo iniciar sesión
Edgar H
1

Deberá especificar tanto en lo que desea iniciar sesión como usuario "desplegar" como también especificar el archivo de identidad para el despliegue.

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

Donde id_deploy.rsa es el archivo de clave privada correspondiente a la clave autorizada que cargó en la cuenta de servidor.

David Smith
fuente