Otra solución, que mejora la seguridad y te hace más fácil, para que no tengas que escribir tu contraseña todo el tiempo:
si desea cifrar su clave privada, puede usarla ssh-agent
en su estación de trabajo para 'almacenar en caché' la clave no cifrada. cuando desea almacenar su clave descifrada, ejecuta ssh-add ~/.ssh/id_rsa
o como se llame su clave privada. se le pedirá la contraseña, y la clave descifrada estará disponible para sus conexiones ssh hasta que ssh-agent
cierre la sesión, cierre o cierre.
puedes kill
las teclas con almacenada ssh-agent -k
y se puede asignar un tiempo de vida de la clave para estar en la memoria, con ssh-agent -t [seconds]
lo que por ejemplo; si no desea mantener su clave descifrada para siempre, pero desea hacer muchos cambios en sus hosts, puede establecer el tiempo de espera en 5-10 minutos. para que no tenga que ingresar continuamente la contraseña de su clave.
una vez más, todo esto tiene que ver con la confianza que tiene en la seguridad de su / estación de trabajo / que, si usted es el único que tiene acceso a él, y tiene una contraseña local bastante segura, y no Invite exploits y rootkits sobre usted mismo, su clave privada sin contraseña es razonablemente segura.
si eres como yo, y mantienes tu clave privada en una memoria USB, definitivamente querrás encriptarla, aunque sea solo una clave privada (una separada de la que uso en mi estación de trabajo, así que si pierdo mi clave, puedo eliminar fácilmente la clave pública de la memoria USB de la ~/.ssh/authorized_keys
lista de mi servidor , lo que también trae una / excelente / razón para agregar comentarios ÚTILES a sus claves públicas)
En su respuesta a una respuesta anterior, dijo que solo las personas en las que confía tienen acceso a la máquina con las llaves. Solo quiero aclarar que su clave privada NO necesita estar en el servidor al que se está conectando, en caso de que eso sea lo que está haciendo. solo su clave pública debe estar en el servidor, y eso no es un problema, por eso es una clave 'pública'.
oh, olvidé mencionar; inicio ssh-agent
cuando inicio X, de lo contrario, las claves descifradas con las que almaceno ssh-add
no se retienen a través de diferentes xterm
sesiones, y tengo que volver a ingresar la contraseña cada vez que cierro el archivo que xterm
inicié ssh-add
. En mi ~/.xinitrc
archivo, tengo:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Tengo la llamada para ssh-agent
terminar eval
porque ssh-agent devuelve algunas variables de entorno que deben establecerse cuando se ejecuta, y se ejecuta desde ~/.xinitrc
, las variables de entorno son constantes a lo largo de la sesión X.