sshpass가 알파인 리눅스에서 작동하지 않습니다

sshpass가 알파인 리눅스에서 작동하지 않습니다

알파인 리눅스에 sshpass를 설치할 때 인수 없이 실행했지만 인수(유효 여부)를 반환하면 설치되고 문서가 표시됩니다 sshpass: Failed to run command: No such file or directory.

경로가 지정되어 있으며 절대 경로를 사용하는 경우에도 동일한 동작을 갖습니다. Ansible과 함께 사용하고 싶지만 직접 작동하지도 않습니다.

이 기능이나 이 기능이 다른 사람에게는 작동하지 않는 방법에 대한 정보를 온라인에서 찾을 수 없는 것 같습니다. 하지만 다른 사람의 컨테이너와 내 컨테이너를 모두 사용해 봤지만 어느 쪽에서도 실행할 수 없습니다. https://pkgs.alpinelinux.org/package/v3.3/main/x86/sshpass

$ docker run -it --rm williamyeh/ansible:alpine3 ash
/ # sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin

   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            Be verbose about what you're doing
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used
/ # sshpass hi
sshpass: Failed to run command: No such file or directory
/ # which sshpass
/usr/bin/sshpass
/ # /usr/bin/sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin

   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            Be verbose about what you're doing
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used
/ # /usr/bin/sshpass anyinput
sshpass: Failed to run command: No such file or directory

기본 ssh 실행 파일이 작동하고 이 방식으로 호스트에 연결할 수 있다는 점을 언급할 가치가 있습니다.

답변1

SSHpass는 제대로 작동하지만 알파인 컨테이너 python:3.6-alpine에는 openssh가 설치되어 있지 않습니다.

이 오류 메시지는 SSH 구성 요소가 실패했음을 언급하지 않기 때문에 혼란스럽습니다.

이 문제는 를 실행하여 해결할 수 있습니다 apk add --update openssh.

RUN apk add --update --no-cache sshpassDockerfile의 행을 에서 로 변경하여 문제가 해결되었습니다 RUN apk add --update --no-cache openssh sshpass.

답변2

No such file or directoryhi을 참조하세요 anyinput:)

방금 알파인 가상 머신에 sshpass를 설치했습니다.

# sshpass -p <my password> ssh 127.0.0.1

예상대로 작동합니다.

폴리스티렌:당신이 무엇을 하고 있는지는 알겠지만,제발이와 같은 작업을 수행하기 전에 공개 키 인증을 조사했는지 확인하십시오 sshpass.

관련 정보