Quando eu instalo o sshpass no alpine linux, ele será instalado e o doc aparecerá se você executá-lo sem argumentos, mas usando qualquer argumento (válido ou inválido) retorna sshpass: Failed to run command: No such file or directory
.
É pathed e mesmo ao usar um path absoluto tem o mesmo comportamento. Eu quero usar isso com ansible, mas nem vai funcionar diretamente.
Não consigo encontrar nenhuma informação on-line sobre esse funcionamento ou não para outras pessoas, mas usei os contêineres de outras pessoas e os meus e também não consegui fazê-lo funcionar. 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
Vale a pena mencionar que o executável ssh subjacente funciona e posso me conectar ao host dessa maneira.
O SSHpass estava funcionando bem, mas o alpine container python:3.6-alpine não tem o openssh instalado.
Esta mensagem de erro é confusa, pois não menciona que o componente ssh está falhando.
Isso pode ser corrigido executando
apk add --update openssh
.Isso foi resolvido alterando a linha no Dockerfile de
RUN apk add --update --no-cache sshpass
paraRUN apk add --update --no-cache openssh sshpass
.No such file or directory
refere-se ahi
eanyinput
:)Acabei de instalar o sshpass em uma máquina virtual alpina e
funciona como esperado.
PS : Tenho certeza de que você sabe o que está fazendo e outras coisas, mas certifique -se de ter verificado a autenticação de chave pública antes de procurar coisas como
sshpass
.