Cómo configurar el cliente ssh para usar claves privadas automáticamente


10

Siempre estoy ejecutando sshel -iparámetro y es una molestia escribir siempre la clave correcta para cualquier host al que me conecte.

¿Hay un archivo de configuración o algo (en Mac) para definir qué clave privada usar al conectarse a un host en particular?

Respuestas:


12

Sí, quieres crear un ~/.ssh/configarchivo. Eso le permite definir un nombre de acceso directo para un host, el nombre de usuario con el que desea conectarse y qué tecla usar. Aquí hay parte de la mía, con nombres de host ofuscados:

Pestañas de host
     HostName tabs.com
     Usuario yo
     IdentityFile ~ / .ssh / new_rsa

Host scm.company.com
     Gorra de usuario
     IdentityFile ~ / .ssh / git_rsa

Organizar la puesta en escena del proyecto
     HostName 50.56.101.167
     Usuario yo
     IdentityFile ~ / .ssh / new_rsa

Con esto puedo decir, ssh tabsy conectarme al host tabs.com como usuario me, con clave new_rsa, como si lo hubiera usado ssh me@tabs.com -i ~/.ssh/new_rsa.


También es una buena manera de hacerlo si no quieres usarlo ssh-agentpor cualquier razón.
voretaq7

No sabía que eso fuera posible. +1
Safado

2

Los clientes SSH generalmente usarán ~/.ssh/identity(ssh v1) o uno de ~/.ssh/id_rsao ~/.ssh/id_dsa(v2) como la clave privada predeterminada. Puede cambiar esto en ~/.ssh/config(el IdentityFileparámetro: la -iopción de SSH realmente anula esto. Consulte man ssh_configpara más detalles).

Si tiene varias claves privadas para usar, ssh-agentprobablemente sea una mejor opción.
Ver man ssh-agentpara más detalles.


+1 para describir los valores predeterminados y citar la página de manual.
pjmorse

0

Si usa diferentes claves para diferentes servidores, no creo que exista.

Si usa una sola clave para todos los servidores, simplemente guárdela como ~/.ssh/id_rsa, se usará automáticamente.

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.