Bash 스크립트에서 SSH 키 사용

Bash 스크립트에서 SSH 키 사용

openssh 및 개인/공개 키를 사용하여 Windows 2003 서버에서 unix 서버로 연결하려고 하는데 개인 키 암호 및 Windows 비밀번호를 계속 요구합니다.

이미 Linux의 인증된 키에 공개 키를 추가했습니다(퍼티를 사용하여 연결하고 개인 키가 제대로 작동하는 경우). 하지만 비밀번호와 비밀번호 문구를 요청하지 않고 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"

퍼티를 사용하여 복사하려면 다음을 수행하십시오 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 세계에서는 이를 테스트할 WSL이 puttygen없습니다 ssh-add.

관련 정보