(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
)을 방지합니다.
대신 명령을 stdin에 전달해야 합니다 sshpass
.
sshpass -e sftp -o 'PasswordAuthentication=yes' \
-o 'PreferredAuthentications=publickey,password' user@hostname < batfile.txt
여기처럼:
bash 스크립트에 sshpass 명령을 넣는 방법은 무엇입니까?
StrictHostKeyChecking=no
보안에 관심이 없다면 절대 사용하지 마세요 .