Você não precisa de um script expect apenas para pegar alguns arquivos por SFTP; o mesmo pode ser feito a partir da linha de comando:
sftp username@boxAddress:/path/to/datafile
buscará datafile no diretório atual.
Para responder à segunda pergunta (que deveria ter sido publicada separadamente ), você está confundindo dois tipos diferentes de chaves.
- Quando o FileZilla ou
sftpaceitam uma chave do servidor, é a chave " host ", usada para verificar o < em> identidade do servidor . - Quando você usa uma chave para autenticação, é a chave de autenticação usuário , usada para verificar a sua identidade .
Normalmente, você não precisa de qualquer controle adicional sobre o servidor para habilitar o último; basta anexar sua chave pública a ~/.ssh/authorized_keys . Isso pode ser feito de qualquer maneira, incluindo SFTP get e put .