ssh를 통해 명령을 일괄 처리하고 해당 호출의 시스템이 해당 명령의 종료 상태와 출력을 결정하도록하지만 암호가 미리 알려지고 이 아닌 경우이 직접 입력됩니다.SSH_ASKPASS가있는 ssh가 항상 실패 함
This 내가 원하는 것처럼 보이지만 작동하지 않습니다.
비행 전 점검 :
#> ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] 'echo here' && echo ok || echo no
Warning: Permanently added '[localhost]:22' (ECDSA) to the list of known hosts.
[email protected]'s password:
here
ok
좋은 시작합니다. 이제 SSH_ASKPASS와 함께 번들
#!/bin/bash
u="testuser"
p="testpassword"
ask="/tmp/ask"
echo "echo $p" > $ask
chmod +x $ask
SSH_ASKPASS=$ask
DISPLAY=localhost:0.0
setsid ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] 'echo here' && echo ok || echo no
보안 문제를 무시하십시오. 이것은 단지 POC입니다.
나는이 문제점은 무엇입니까#> /tmp/test.sh
Warning: Permanently added '[localhost]:22' (ECDSA) to the list of known hosts.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
no
실행하면?
Afaik, 변수를 내 보내야합니다. '-vvv'로'ssh'를 실행하면'ASKPASS'가 사용되지 않는다는 것을 알 수 있습니다. – Jakuje
그거야. 완전한 답을 원하십니까? – spraff