Использование ключей ssh ​​в скрипте bash

Использование ключей ssh ​​в скрипте bash

Я пытаюсь подключиться с сервера Windows 2003 к серверу Unix с помощью openssh и закрытых/открытых ключей, но постоянно запрашиваю пароль закрытого ключа и пароль Windows.

Я уже добавил открытый ключ в Authorized keys на Linux (если я подключаюсь с помощью Putty, а закрытый ключ работает нормально). Но мне нужно подключиться с помощью скрипта bash без запроса пароля и парольной фразы.

Вот команда:

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

Вот журнал:

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 :

решение1

если используете putty, вы можете использоватьputtygenдля динамического хранения закрытого ключа необходимо ввести пароль один раз (до перезагрузки).

рекомендуемое действие — сохранить сеанс с удаленными хостами, удаленным пользователем и используемым ключом, а затем запустить команду, используя это.сессия.

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

Итак, чтобы скопировать с помощью 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

В мире Unix puttygenэто называется ssh-add, у меня нет WSL, чтобы проверить это.

Связанный контент