Como você pode criar um liner com sftp para fazer login com a senha na mesma linha?


16

Existe uma opção para colocar a senha na linha também com o sftp?

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ 

Como isso

linux~ $ sftp USERNAME@FTP.WEBSITE.COM:/DIRECTORY_TO_GO_TO/ -p PASSWORD? 

Respostas:


13

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 .


Ponto interessante!
217 Daniel

Seria uma idéia muito melhor configurar a autenticação baseada em chave, se você puder. Isso faz sentido.
Net Runner

Este URL de expectativa está quebrado #
3605 André Perazzi

4
Não consigo entender por que as pessoas aprovaram uma resposta que não fornece uma solução.
itoctopus 29/01/19

33

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

2
Isso deve ser massivamente votado. É realmente útil ter o sshpass. Alguns provedores não permitem que você crie uma pasta .ssh e o scp também não é permitido.
NetSquirrel

2
É bom que algumas ferramentas brew search sshpassestejam protegidas : - "Não adicionaremos o sshpass, pois torna muito fácil para os usuários iniciantes do SSH arruinarem a segurança do SSH."
Oliver

4
Essa deve ser a solução aceita. O OP perguntou como fazer essa coisa específica - não para obter conselhos de segurança (embora bem-intencionados e corretos).
EBR

6

Não faça isso - configure a autenticação de chave pública SSH para login automático.


O sftp pode fazer o mesmo com o scp?
217 Daniel

11
@ Daniel, o sftp e o scp são criados no SSH, o que permite autenticação baseada em chave.
Zoredache

5

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


paramiko é python puro (sem libs extras) e funciona muito bem
qwertzguy

3

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.


2

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 sftpcomando connect.

UPDATE: isso acabou incorreto ... ver comentários


OpenSSH v5.3p1 e v4.3p2, ambos no Red Hat Enterprise ...
ashnazg

11
Isso acabou incorreto ... esse método parecia funcionar para mim porque o PHP e sua extensão ssh2 estavam sendo usados ​​anteriormente no meu código para fazer autenticação autônoma real ... e o comando sftp estava sendo executado posteriormente. Foi nessa parte posterior que a sintaxe pareceu ter sucesso.
Ashnazg

11
Não foi possível resolver o usuário do nome do host: nenhum host é conhecido. Que está considerando ":" em nome de usuário que não é o caso em FileZilla CLI
P Satish Patro

1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.