Soy nuevo en OS X.
Según el título, tengo problemas para conectarme a mi servidor web a través de SSH. Mi servidor acepta claves y no usamos contraseñas.
Vengo de Windows, y en Windows usé PuTTY para conectarme a mi servidor usando un archivo .ppk generado usando PuTTYGen.
En la Mac, generé usando ssh-keygen -t rsa -b 2048 e hice un archivo key.ppk en ~/.ssh y pegué el contenido de mi archivo .ppk de Windows en él.
También hice un archivo de configuración con los siguientes contenidos...
Host domain.com
IdentityFile ~/.ssh/key.ppk
User username
Cuando intento conectarme, la Terminal me solicita una contraseña (¿por qué?) Luego, cuando no ingreso nada y presiono Aceptar, falla con el mensaje
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
¡Cualquier ayuda sobre lo que estoy haciendo mal será genial! Gracias por leer y gracias de antemano por cualquier consejo.
key.ppk
archivo de WindowsEl archivo PPK es una clave privada específica de PuTTY. No es una clave privada portátil que funcione con ninguna aplicación basada en ssh. Solo funciona con PuTTY. Necesitas convertirlo primero. Encontré algunas instrucciones para convertirlo en un par de claves pública/privada adecuado aquí . Deberá hacer esto desde su máquina con Windows.
Eso le dará una clave privada, key.ssh
que funcionará con ssh en su Mac. Coloque el key.ssh
archivo en su ~/.ssh/
directorio. Asegúrese de que los permisos sean correctos:
% chmod 400 ~/.ssh/key.ssh
Y luego puedes usarlo con tu ~/.ssh/config
archivo así:
Host domain.com
IdentityFile ~/.ssh/key.ssh
User username
Si ya no tiene acceso a su máquina con Windows, deberá generar un nuevo par de claves pública/privada para usar con su servidor web.
Honestamente, esta es la mejor manera de ir aquí.
La autenticación sin contraseña con claves compartidas requiere que ambas máquinas tengan una parte de la clave pública/compartida. Aquí hay una receta completa para configurar un esquema de autenticación de clave compartida con dos servidores. No es realmente específico de OS X. Es específico de ssh.
Estas instrucciones asumen que host1 es su Mac y host2 es su servidor web.
Genere una clave compartida en host1 (la clave compartida será /Users/you/.ssh/webserver.pub
y la clave privada será /Users/you/.ssh/webserver
):
% ssh-keygen -t rsa -b 2048 -f ~/.ssh/webserver
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in webserver.
Your public key has been saved in webserver.pub.
The key fingerprint is:
98:b7:fa:0f:0d:e7:7f:50:cc:9b:b4:57:db:8d:b4:03 ian@Ian-Chesals-iMac.local
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| o |
| o E * .|
| o S . = *=|
| . * . B.+|
| o o . o |
| . . . . |
| ..... .. |
+-----------------+
Nota: no ingresé una contraseña para la clave porque no quiero tener que usar una contraseña cuando uso el uso.
Ahora necesita agregar la ~/.ssh/webserver.pub
clave pública al ~user/.ssh/authorized_keys
archivo en host2 , su servidor web.
% ssh user@host2 'mkdir ~/.ssh;echo '`cat ~/.ssh/webserver.pub`' >> ~/.ssh/authorized_keys'
Para que esto funcione, necesitará una contraseña de acceso al host remoto. Si no tiene esto, puede dárselo ~/.ssh/webserver.pub
a alguien que tenga acceso al cuadro y pedirle que lo agregue al authorized_keys
archivo por usted. O hágalo desde su máquina Windows donde todavía tiene acceso.
Ahora asegúrese de que su clave privada esté segura en su Mac:
% chmod 400 ~/.ssh/webserver*
ssh puede quejarse si sus pares de claves privadas/públicas son legibles o escribibles en todo el mundo.
Finalmente, puede agregar lo siguiente a su ~/.ssh/config
archivo para invocar la combinación de teclas correcta cuando intente acceder a su servidor web:
Host domain.com
IdentityFile ~/.ssh/webserver
User username
Esto le dará la autenticación basada en pares de claves sin contraseña que desea.
ian c
Harald Hanche-Olsen
.ssh/authorized_keys
el servidor? (Además, intente darle la-v
bandera assh
para obtener más información).ian c