Por lo general, me estoy conectando al servidor remoto con
ssh user@server.com -p 11000
y luego dar la contraseña cada vez para el usuario. ¿Cómo debo evitar ingresar la contraseña cada vez que me conecto usando ssh?
Por lo general, me estoy conectando al servidor remoto con
ssh user@server.com -p 11000
y luego dar la contraseña cada vez para el usuario. ¿Cómo debo evitar ingresar la contraseña cada vez que me conecto usando ssh?
Respuestas:
Primero , pon esto en ~/.ssh/config
:
Host server
HostName server.com
Port 11000
User user
Podrá ssh server
, luego escriba la contraseña.
En segundo lugar , verifique ~/.ssh/
si tiene archivos con nombre id_rsa
y id_rsa.pub
. Si no, no tiene ninguna clave configurada, por lo que debe generar un par usando ssh-keygen
. Puede dar a las claves una contraseña o no. El archivo generado id_rsa.pub
debería verse así:
ssh-rsa lotsofrandomtext usuario @ local
En tercer lugar , ssh para el servidor, cree el archivo ~/.ssh/authorized_keys
si no existe. Luego agregue el contenido del ~/.ssh/id_rsa.pub
que generó anteriormente aquí. Esto podría significar copiar el contenido del archivo en su portapapeles, luego abrirlo ~/.ssh/authorized_keys
en un editor de texto y pegarlo.
Alternativamente, use el comando ssh-copy-id server
(reemplace server
con el nombre en ~/.ssh/config
). Esto hará lo mismo que arriba. A veces he visto ssh-copy-id
que me atasco, así que realmente no me gusta.
Ahora debería poder usar ssh con solo ssh server
, a menos que haya elegido proteger su clave privada con una frase de contraseña. En general, si no utiliza una frase de contraseña, debe proteger su clave privada por otros medios (por ejemplo, cifrado de disco completo).
Cuarto (solo es necesario si protege su clave privada con una frase de contraseña), ponga esto en~/.bashrc
:
start_ssh_agent() {
# Try to use an existing agent
save=~/.ssh-agent
if [[ -e "$save" ]]
then
. "$save" > /dev/null
fi
# No existing agent, start a new one
if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
then
ssh-agent > "$save"
. "$save" > /dev/null
ssh-add
fi
}
start_ssh_agent
Con esto, solo necesitará ingresar la frase de contraseña una vez por arranque de la computadora.
User user
línea a ~/.ssh/config
.
Vaya a la autenticación basada en claves .
ssh -P 11000
pude copiar con ssh. Muchas gracias.
Como suplemento a la respuesta de phunehehe, consulte la Guía de llavero Gentoo Linux para obtener una guía sobre el llavero . el llavero también usa ssh-agent . El demonio ssh-agent hace que la frase de contraseña esté disponible (deja de estar disponible cuando el demonio ssh-agent muere) pero llavero reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in
, para citar la guía.