(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
보안에 관심이 없다면 절대 사용하지 마세요 .