pública por llaves keygen generar crear copiar confianza clave autenticación ssh openshift ssh-keys openshift-client-tools

por - ¿Cómo especificar una ubicación diferente para las claves ssh que se cargan durante la configuración de rhc?



ssh-keygen-t rsa (1)

Por lo que veo, solo quieres que rhc no use tu clave ssh por defecto. Así que aquí es cómo se crea una clave separada y se configura rhc para usarla en lugar de la predeterminada.

Los puntos clave son que:

  • selecciona no para generar y cargar la clave ssh durante la rhc setup
  • agrega su clave por separado con rhc sshkey add
  • configuras ssh para usar la tecla diferente para ese dominio como lo mencionaste en tu ejemplo original

¿Esto cubre tus preocupaciones?

[crackit@koTapaH ~]$ mkdir /home/crackit/my_key_location [crackit@koTapaH ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/crackit/.ssh/id_rsa): /home/crackit/my_key_location/key.rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/crackit/my_key_location/key.rsa. Your public key has been saved in /home/crackit/my_key_location/key.rsa.pub. The key fingerprint is: c5:20:15:fb:17:96:86:8f:88:28:18:17:2a:b8:eb:51 crackit@koTapaH The key''s randomart image is: +--[ RSA 2048]----+ | . ..+. | |.. . . + . . | |= . . + = | |.= . . + = . | |o .E. . S o o | | ... . | |.. | |. . | | . | +-----------------+ [crackit@koTapaH ~]$ rhc setup OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed. If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online: openshift.redhat.com. Enter the server hostname: |openshift.redhat.com| You can add more servers later using ''rhc server''. Login to openshift.redhat.com: Login to openshift.redhat.com: [email protected] Password: ************* OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in your home directory and should be kept secret. You can delete the key at any time by running ''rhc logout''. Generate a token now? (yes|no) yes Generating an authorization token for this client ... lasts about 1 month Saving configuration to /home/crackit/.openshift/express.conf ... done No SSH keys were found. We will generate a pair of keys for you. Created: /home/crackit/.ssh/id_rsa.pub Your public SSH key must be uploaded to the OpenShift server to access code. Upload now? (yes|no) no You can upload your public SSH key at a later time using the ''rhc sshkey'' command Checking for git ... found git version 2.1.0 Checking common problems .. done Checking for a domain ... foobar Checking for applications ... found 2 jenkins http://jenkins-foobar.rhcloud.com/ tmp http://tmp-foobar.rhcloud.com/ You are using 2 of 3 total gears The following gear sizes are available to you: small, medium Your client tools are now configured. [crackit@koTapaH ~]$ rhc sshkey add mykey my_key_location/key.rsa.pub RESULT: SSH key my_key_location/key.rsa.pub has been added as ''mykey'' [crackit@koTapaH ~]$ vi .ssh/config <.. do your modifications here ..> [crackit@koTapaH ~]$ rhc ssh tmp Connecting to [email protected] ... ********************************************************************* You are accessing a service that is for use only by authorized users. If you do not have authorization, discontinue use at once. Any use of the services is subject to the applicable terms of the agreement which can be found at: https://www.openshift.com/legal ********************************************************************* Welcome to OpenShift shell This shell will assist you in managing OpenShift applications. !!! IMPORTANT !!! IMPORTANT !!! IMPORTANT !!! Shell access is quite powerful and it is possible for you to accidentally damage your application. Proceed with care! If worse comes to worst, destroy your application with "rhc app delete" and recreate it !!! IMPORTANT !!! IMPORTANT !!! IMPORTANT !!! Type "help" for more info. [tmp-foobar.rhcloud.com 550000a0e0b8cdca4c000040]/> exit exit Connection to tmp-foobar.rhcloud.com closed. [crackit@koTapaH ~]$

Actualización : no noté que se generan claves. Pero estoy seguro de que las claves generadas durante la rhc setup no se utilizan realmente. Primero porque las claves de la ubicación predeterminada nunca se agregan a openshift. Y puedes ver una prueba rápida a continuación. Otra forma de ver es la rhc sshkeys list .

Otra cosa es que si ya tienes las llaves en la ubicación predeterminada, entonces no se generan llaves (en cuyo caso aún debes seleccionar no para no cargarlas). Pero en realidad es un error menor IMO en rhc que las claves ssh se generan sin preguntar al usuario. Puede ser un caso de uso muy raro: no tiene la clave predeterminada y desea usar una clave de una ubicación no estándar (este no es su caso de uso en el que tiene una clave en la ubicación estándar, simplemente no desea usarlo) pero aún así IMO uno no debe generar algo que el usuario no solicitó. Así que aquí es cómo le muestro que solo se utiliza mi clave personalizada deseada:

[crackit@koTapaH ~]$ rm -rf .ssh/id_rsa* [crackit@koTapaH ~]$ rhc ssh tmp Connecting to [email protected] ... <...> Type "help" for more info. [tmp-foobar.rhcloud.com 550000a0e0b8cdca4c000040]/> exit exit Connection to tmp-foobar.rhcloud.com closed. [crackit@koTapaH ~]$ ls .ssh/ config known_hosts [crackit@koTapaH ~]$

Actualización 2 Por supuesto, token no puede ayudarte con ssh:

[crackit@koTapaH ~]$ rm -rf my_key_location [crackit@koTapaH ~]$ rhc ssh tmp Connecting to [email protected] ... no such identity: /home/crackit/my_key_location/key.rsa: No such file or directory Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

La clave SSH se usa para ssh. Token se usa para solicitudes API. Estos son casos de uso diferentes. rhc usa el ejecutable ssh debajo, por lo que usar una clave personalizada significa editar ~/.ssh/config para establecer su clave predeterminada en otra ubicación o establecer diferentes claves para diferentes hosts. Esto no se maneja bien con la rhc setup . Pero una vez que tenga su conjunto de claves, ya no tendrá que ejecutar la rhc setup .

Estoy usando la herramienta rhc cli para proyectos OpenShift. He encontrado un problema con la clave rhc ssh predeterminada.

En cualquier acción relacionada con ssh (setup, app-create, etc.) rhc crea la clave ~/.ssh/id_rsa si no existe. No me gusta ese comportamiento, y me gustaría usar algo como ~/.ssh/OpenShift-SSH-Keys/my_id_rsa .

Porque durante la configuración de rhc, no me preguntó de qué ubicación quería cargar las claves. Por lo tanto, también busqué en ~/.openshift/express.conf y solo vi las configuraciones para ssl; no ssh.

Así que encontré en Internet esta siguiente línea de configuración para agregar a ~/.openshift/express.conf :

ssh_key_file=''~/.ssh/OpenShift-SSH-Keys/my_id_rsa''

Lo agregué y también modifiqué mi archivo ~/.ssh/config :

# Openshift *.rhcloud.com ssh-key config Host *.rhcloud.com IdentityFile ~/.ssh/OpenShift-SSH-Keys/my_id_rsa IdentitiesOnly yes VerifyHostKeyDNS yes StrictHostKeyChecking no PasswordAuthentication no UserKnownHostsFile ~/.ssh/known_hosts

Para terminar configuré mi cuenta así:

rhc setup --config ~/.openshift/express.conf -l [email protected]

Salida de esta línea de comando:

OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed. If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online: openshift.redhat.com. Enter the server hostname: |openshift.redhat.com| You can add more servers later using ''rhc server''. Using [email protected] to login to openshift.redhat.com RSA 1024 bit CA certificates are loaded due to old openssl compatibility Password: ************************ OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in your home directory and should be kept secret. You can delete the key at any time by running ''rhc logout''. Generate a token now? (yes|no) yes Generating an authorization token for this client ... RSA 1024 bit CA certificates are loaded due to old openssl compatibility lasts 29 days Saving configuration to /Users/theuser/.openshift/express.conf ... done No SSH keys were found. We will generate a pair of keys for you. Created: /Users/theuser/.ssh/id_rsa.pub Your public SSH key must be uploaded to the OpenShift server to access code. Upload now? (yes|no) no You can upload your public SSH key at a later time using the ''rhc sshkey'' command Checking for git ... found git version 2.5.0 Checking common problems .. done Checking for a domain ... mydomainz1955 Checking for applications ... found 1 myapp http://myapp-mydomainz1955.rhcloud.com/ You are using 2 of 3 total gears The following gear sizes are available to you: small Your client tools are now configured.

Como puede ver en la salida de la línea de comando: No SSH keys were found. We will generate a pair of keys for you. No SSH keys were found. We will generate a pair of keys for you. , aunque especifiqué en el ~/.openshift/express.conf que ya tenía las claves ssh generadas, la rhc setup no las tomó en consideración o no las encontró.

Entonces, según ustedes, ¿es posible especificar de alguna manera una ubicación diferente para las claves ssh que se cargan durante la configuración de rhc?

Nota: Sé cómo agregar una clave ssh adicional, pero me gustaría dejar de crear / usar ~/.ssh/id_rsa