배치 파일을 사용한 SFTP 이중 인증

배치 파일을 사용한 SFTP 이중 인증

(publickey,password)이중 인증이 활성화된 서버에 연결하려고 합니다 . 스크립트를 자동화하기 위해 비밀번호를 제공하는 데 사용하고 있지만 sshpassSFTP가 포함된 배치 파일이 있는 경우 배치 파일 연결이 성공하지 않으면 연결이 실패합니다.

export SSHPASS=helloworld

(sshpass -e sftp -b batfile.txt -o 'PasswordAuthentication=yes' \
 -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)

오류:

Permission denied (password).
Couldn't read packet: Connection reset by peer

배치 파일 없이 연결에 성공했습니다.

(sshpass -e sftp -o 'PasswordAuthentication=yes' \
 -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)

배치 파일 내에 비밀번호를 제공하려고 시도했지만 운이 없습니다.

내가 달성하려는 것이 가능합니까 ? sshpass그렇다면 batchfile누군가가 이것에 대해 나를 도와 줄 수 있습니까?

배치 파일:

echo  "Hey, I'm from Inside"  
!echo "Hey, I'm from Outside"

답변1

-b대화형 인증(으로 시뮬레이션하려는 것 sshpass)을 방지합니다.

대신 명령을 stdin에 전달해야 합니다 sshpass.

sshpass -e sftp -o 'PasswordAuthentication=yes' \
 -o 'PreferredAuthentications=publickey,password' user@hostname < batfile.txt

여기처럼:
bash 스크립트에 sshpass 명령을 넣는 방법은 무엇입니까?


StrictHostKeyChecking=no보안에 관심이 없다면 절대 사용하지 마세요 .

관련 정보