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

유닉스 세계에서는 puttygen이를 ssh-add테스트할 WSL이 없습니다.

관련 정보