Estou tentando me conectar a um servidor onde a autenticação dupla (publickey,password)
está habilitada. Estou usando sshpass
para fornecer senha para automatizar o script, mas quando tenho batchfile com SFTP, a conexão falha sem que a conexão do batchfile seja bem-sucedida
export SSHPASS=helloworld (sshpass -e sftp -b batfile.txt -o 'PasswordAuthentication=yes' \ -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)
Erro:
Permission denied (password). Couldn't read packet: Connection reset by peer
A conexão é bem-sucedida sem arquivo de lote
(sshpass -e sftp -o 'PasswordAuthentication=yes' \ -o 'PreferredAuthentications=publickey,password' -o 'StrictHostKeyChecking=no' user@hostname)
Eu tentei fornecer senha dentro de um arquivo de lote, mas sem sorte.
É possível o que estou tentando alcançar sshpass
junto com batchfile
, em caso afirmativo, alguém pode me ajudar nisso
Arquivo de lote:
echo "Hey, I'm from Inside"
!echo "Hey, I'm from Outside"
O
-b
impede a autenticação interativa (o que você tenta simular porsshpass
).Em vez disso, você precisará passar os comandos para
sshpass
stdin.Como aqui:
Como colocar o comando sshpass dentro de um script bash?
Nunca use
StrictHostKeyChecking=no
, a menos que você não se preocupe com a segurança.