Gostaria de criar um script no HP-UX para enviar sftp com senha. eu tenho esse comando
sftp -o PasswordAuthentication=
mas se eu responder sim ou não depois, tenho o problema "Falha na verificação da chave do host"
Responder1
Se você tiver socat
em mãos, há este exemplo no manual que você pode usar.
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty
(ctty), and makes this pty the owner of a new process group
(setsid), so ssh accepts the password from socat.
Responder2
Seria melhor usar autenticação de chave pública/privada, mas caso você ainda queira usar a senha em seu script de texto simples, eu usaria lftp
. É um ótimo cliente que permite conexões ftp, sftp, ftps, você só precisará usar 'aqui documento' para a transação completa:
lftp sftp://your.destination.sftp -u yourUser,YourPassword << fin
get yourfile
bye
fin
Responder3
você pode tentar o script sftp abaixo usando nome de usuário, senha e destip.
#!/usr/bin/expect
spawn sftp username@destip
expect "username@destip's password:"
send "passwd\n"
expect "sftp>"
send "get filename\n"
expect "sftp>"
send "bye\n"
Responder4
SFTP pode funcionar sem senha usando
pubkey auth = very safe strong encryption
kerberos = need server,encryption is not strong
Caso contrário, use expect para enviar a senha, AVISO! A passagem é visível usando ps, portanto esta solução é totalmente insegura.