Respostas:
Geralmente, incluir uma senha em uma linha de comando é considerado um risco de segurança, pois será exibido para qualquer pessoa que possa executar o ps / top e poderá ser salvo no histórico do seu shell.
Seria uma idéia muito melhor configurar a autenticação baseada em chave, se você puder.
Além disso, não acredito que isso seja possível com o sftp. Ele deve ser usado para transferências seguras. Se você realmente teve que fazer algo assim e não tem outra escolha, provavelmente precisará procurar automatizar com expectativa .
Como já mencionado, uma senha de linha de comando deve ser o último recurso.
No entanto, se nada mais for possível; pode-se ir para o ssh pass
sshpass -p <password> sftp user@host
brew search sshpass
estejam protegidas : - "Não adicionaremos o sshpass, pois torna muito fácil para os usuários iniciantes do SSH arruinarem a segurança do SSH."
Não faça isso - configure a autenticação de chave pública SSH para login automático.
Basta usar perl, ruby ou python para escrever o que você está tentando fazer. No caso do ruby, é apenas (extraído dos documentos da API net-sftp):
require 'net/sftp'
Net::SFTP.start('host', 'username', :password => 'password') do |sftp|
# upload a file or directory to the remote host
sftp.upload!("/path/to/local", "/path/to/remote")
end
Para mais informações http://net-ssh.rubyforge.org/sftp/v2/api/index.html
Como as outras respostas indicaram, use a autenticação de chave pública. Existe uma série IBM developerWorks excelente, embora um pouco antiga, que deve explicar tudo o que você deseja saber sobre ela, além de algumas ferramentas adicionais úteis, como chaveiro.
Para pesquisadores que não se importam que a senha possa ser vista no comando da linha de comando:
sftp userid:password@remoteHost
é como incluir a senha no sftp
comando connect.
UPDATE: isso acabou incorreto ... ver comentários
Suspeito que haja tantas respostas quanto clientes de FTP. Um servidor SFTP não deve aceitar informações de autenticação até que a criptografia seja estabelecida, para que o usuário e a senha sejam protegidos.
Acredito que o cliente FileZilla permitirá a passagem da linha de comando do usuário e da senha. Consulte a documentação aqui . Dada a reputação do projeto FileZilla, eu esperaria que ele funcionasse com segurança.