배치 파일을 사용한 SFTP 2단계 인증

배치 파일을 사용한 SFTP 2단계 인증

(publickey,password)이중 인증이 활성화된 서버에 연결하려고 합니다. sshpass스크립트 실행을 자동화하기 위해 비밀번호 제공을 사용 하지만 SFTP를 사용하여 배치 파일을 제공하면 연결이 실패하고 배치 파일 연결이 성공하지 못합니다.

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)이 방지됩니다.

sshpass대신 명령을 표준 입력 으로 전달해야 합니다 .

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

여기처럼:
sshpass 명령을 bash 스크립트에 어떻게 넣나요?


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

관련 정보