bash スクリプトで ssh キーを使用する

bash スクリプトで ssh キーを使用する

Openssh と秘密/公開キーを使用して Windows 2003 サーバーから Unix サーバーに接続しようとしていますが、秘密キーのパスフレーズと Windows パスワードの入力を求められます。

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

を使用する場合はputtyputtygen秘密鍵を動的に保存するには、パスワード キーを 1 回入力します (再起動するまで)。

推奨されるアクションは、リモートホスト、リモートユーザー、および使用されたキーとのセッションを保存し、それを使用してコマンドを実行することです。セッション

\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 がありません。

関連情報