Usando claves ssh en script bash

Usando claves ssh en script bash

Estoy intentando conectarme desde el servidor Windows 2003 al servidor Unix usando openssh y claves privadas/públicas, pero sigo pidiendo la clave privada y la contraseña de Windows.

Ya agregué la clave pública en Claves autorizadas en Linux (si me conecto usando PuTTY y la clave privada funciona bien). Pero necesito conectarme usando un script bash sin solicitar contraseña ni frase de contraseña.

Este es el comando:

ssh -v -i privatefile -p 2022 user@server

Este es el registro:

OpenSSH_3.7.1p1, SSH protocols 1.5/2.0, OpenSSL 0.9.7b 10 Apr 2003
debug1: Connecting to SERVER port 2022.
debug1: Connection established.
debug1: identity file privatefile type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.7.1p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-sha1 none
debug1: kex: client->server aes128-cbc hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'SERVER' is known and matches the RSA host key.
debug1: Found key in /cygdrive/c/Users/PAMA1/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
D:\Entrada\z_Bkp>NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received

Anyone gaining unauthorized access will be subject to PROSECUTION.

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mi
c,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: bilaetlopenssh
Enter passphrase for key 'bilaetlopenssh':
debug1: Next authentication method: keyboard-interactive
Enter your Windows password :

Respuesta1

Si lo usas putty, puedes usarputtygenpara almacenar la clave dinámicamente, la clave privada, ingresando la clave de contraseña una vez (es decir, hasta el reinicio).

La acción recomendada es guardar una sesión con hosts remotos, usuario remoto y clave utilizada, y ejecutar el comando usando esesesión.

\path\name\to\putty.exe -load "mysession"

así que copiar usando PuTTY pscp:

\path\name\to\pscp.exe -load "mysession" local-file.txt remote:/path/file.txt
\path\name\to\pscp.exe -load "mysession" remote:/path/file.txt local-file.txt

En el mundo Unix puttygense llama ssh-add, no tengo WSL para probarlo.

información relacionada