¿Cómo especificamos una identidad predeterminada ssh?

32

id_rsa es normalmente una clave predeterminada.

He creado una nueva clave llamada 'keyhello'

Actualización: también agregué esta clave haciendo:

ssh-add /home/myuser/.ssh/keyhello

Pero creo que todavía no es mi clave predeterminada.

Entonces, ¿cómo podemos poner keyhello como identidad predeterminada, en lugar de id_rsa?

Veo un -t pero he intentado:

ssh-agent /home/mysuser/.ssh/keyhello -t 

No hay suerte con esto. Obtengo un "Permiso denegado" (si pongo sudo ssh-agent ... Obtuve el mismo "Permiso denegado sin siquiera solicitarme mi pase de sudo").

MEM
fuente

Respuestas:

49

En su archivo ~ / .ssh / config ponga:

IdentityFile /home/myuser/.ssh/keyhello

que le dirá a las conexiones ssh salientes que lo usen como identidad predeterminada

Wes Hardaker
fuente
1
Correr. Si el archivo de configuración no existe. Debo crearlo.
MEM
5

Puede especificar un archivo de claves alternativo en la línea de comando con la -iopción, o puede cambiarlo permanentemente con IdentityFileel archivo de configuración del cliente ssh.

MattBianco
fuente
2

/ usr / bin / ssh-copy-id utilizará el último archivo creado que coincida con id _ *. pub. Para cambiar cuál es el predeterminado, solo tóquelo.

me@my-machine:~/.ssh$ touch id_rsa id_rsa.pub
Benoit Bourgault
fuente
1

En mi archivo /usr/bin/ssh-copy-iden la línea 59:

most_recent_id="$(cd "$HOME" ; ls -t .ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)"

DEFAULT_PUB_ID_FILE="${most_recent_id:+$HOME/}$most_recent_id"

El archivo más reciente será el predeterminado, y probablemente pueda cambiarlo. Tenga en cuenta que su archivo debe comenzar con 'id'.

Patafikss
fuente
-2

si desea cambiar el predeterminado que envía, cambie id_*.puba keyhello.puben el archivo /usr/bin/ssh-copy-id. Lo encontrarás en la línea 60 o algo así. La línea comienza con DEFAULT_PUB_ID_FILEy verá después de eso "$HOME/$(cd "$HOME" ; ls -t .ssh/id_*.pub".

ramsey322
fuente
¿Seriamente? ¿La única forma en que este usuario puede hacer un cambio de configuración que los afecta (y solo a ellos) es modificando un archivo del sistema (que afecta potencialmente a todos los usuarios del sistema)? ¿Es su respuesta mejor que las otras respuestas (de 6 años y medio) a esta pregunta?
Scott