
Entonces tengo la computadora de mi casa y mi servidor. Estoy intentando iniciar sesión en mi servidor con mi clave privada.
En mi servidor digo que tengo el usuario serveruser
, al que inicio sesión desde la computadora de mi casa usando
ssh -Y [email protected]
Y en la computadora de mi casa, tengo el usuario homeuser
en la computadora de mi casa.
Ahora quiero iniciar sesión en el servidor usando mi clave privada. Para eso, ya tengo una clave con contraseña en /home/homeuser/.ssh/
. Así que tomé la clave pública (id_rsa.pub) y la copié en mi servidor en /home/serveruser/.ssh/authorized_keys
.
Ahora me gustaría iniciar sesión usando esa clave, así que intenté iniciar sesión usando
ssh -Y [email protected]
y todavía me pide la contraseña y no la frase de contraseña.
También intenté iniciar sesión usando
ssh -i /home/homeuser/.ssh/id_rsa -Y [email protected]
y todavía me piden la contraseña de usuario.
¿Qué hice mal? Por favor avise.
Gracias por cualquier esfuerzo.
EDITAR: De acuerdo con la recomendación de Mason Heller, ejecuté ssh-add, pero aún insiste en que ingrese la contraseña para[correo electrónico protegido].
EDITAR: Información de ssh -v -Y myserver.com
(información personal modificada para mantener el anonimato).
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to myserver.com [100.100.100.100] port 22.
debug1: Connection established.
debug1: identity file /home/homeuser/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/homeuser/.ssh/id_rsa-cert type -1
debug1: identity file /home/homeuser/.ssh/id_dsa type -1
debug1: identity file /home/homeuser/.ssh/id_dsa-cert type -1
debug1: identity file /home/homeuser/.ssh/id_ecdsa type -1
debug1: identity file /home/homeuser/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA b2:1a:68:21:5a:72:c4:f7:ec:ea:60:12:e4:f8:b5:71
debug1: Host 'myserver.com' is known and matches the ECDSA host key.
debug1: Found key in /home/homeuser/.ssh/known_hosts:11
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/homeuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: [email protected]
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/homeuser/.ssh/id_dsa
debug1: Trying private key: /home/homeuser/.ssh/id_ecdsa
debug1: Next authentication method: password
Más información:
gato /home/homeuser/.ssh/id_rsa.pub
--removed for security--
/home/serveruser/.ssh/authorized_keys
total 4
-rwx------ 1 serveruser serveruser 400 Jan 26 01:09 id_rsa.pub
gato /home/serveruser/.ssh/authorized_keys
cat: /home/serveruser/.ssh/authorized_keys: Is a directory
Respuesta1
/home/serveruser/.ssh/authorized_keys
debería ser un archivo.
Lo crea agregando el contenido de id_rsa.pub (es decir, cat /home/homeuser/.ssh/id_rsa.pub >> Authorized_keys).
(Obviamente, primero debe copiar la clave pública en el servidor).
Respuesta2
Para utilizar su par de claves, es posible que desee ejecutar ssh-agent para manejar la autenticación.
eval $(ssh-agent)
ssh-add
Entonces su par de claves estará disponible para todas las sesiones ssh posteriores en esa terminal. ssh-agent
agrega variables de entorno en su sesión de terminal, que necesita para ssh
usarla. Normalmente ejecuto ssh-agent > ~/.ssha; . ~/.ssha; ssh-add
un pty y luego source ~/.ssha
cualquier otro donde necesito usar ssh, para que todos mis pty puedan usar el agente.
Además, me resulta más fácil ssh-copy-id
agregar mi clave pública a los servidores. También puede hacerle la vida más fácil. :)