Login Automático do SFTP

0

Eu quero saber como posso me conectar automaticamente usando o sftp com uma senha como um argumento no mesmo comando para fazer com que o login automático seja executado uma vez.

Exemplo:

Eu quero colocá-lo em um script e tentar fazer uma frase para realizar essa tarefa.

Felicidades,

    
por vicdeveloper 23.03.2016 / 15:23

3 respostas

2

Existem quatro maneiras de fazer ssh / scp sem senha:

  1. Crie uma nova chave ssh livre de frase de senha no cliente e inclua-a em authorized_keys no servidor.

  2. Como acima, mas defina uma frase secreta na chave e use ssh-agent para desbloqueá-la antes de executar o scp.

  3. Use o compartilhamento de conexão ssh, talvez com uma configuração ControlPersist apropriada, para efetuar login no servidor antes de sua execução do scp. O scp reutilizará a mesma conexão e não precisará de senha.

  4. Use algum script desonesto para digitar a senha, mas o ssh / scp ativamente desencoraja isso, por isso não é tão fácil quanto você gostaria.

Sugiro que você investigue as duas primeiras opções (a opção 2 é mais segura) e a opção 3, se authorized_keys não estiverem disponíveis. Há muitos lugares documentando como fazer isso.

A opção 4 é possível (vejo outra pessoa já ter postado uma solução), mas você precisa estar ciente de que isso irá vazar sua senha para outros usuários da máquina e / ou qualquer pessoa que possa ler seu script. As chaves ssh são protegidas de todos, menos do usuário root, e as chaves protegidas de frase secreta são protegidas até mesmo da raiz (hacks de ssh-agent à parte).

    
por 23.03.2016 / 15:40
0

Use SSHPASS

sshpass -p <password> sftp user@host

    
por 23.03.2016 / 15:35
0

Execute o seguinte:

ssh-keygen -t rsa -b 2048

então

touch ~/.ssh/config

Agora edite a configuração para parecer algo como:

# host-specific options
Host enigma
    HostName mydomain.com
    Port 2547
    ServerAliveInterval 120
User YOURUSERNAME
    TCPKeepAlive Yes

Agora conecte

ssh-copy-id [email protected]

Você deve conseguir se conectar ao servidor usando o nome do host no arquivo de configuração. ou seja, ssh enigma

Eu tenho cerca de 20 conexões no meu arquivo Config, e todas as referências curtas, então eu não tenho que digitar o domínio e senha de cada vez.

A falha secuirty para isso, é que todas as conexões SSH, a menos que você comece a criar diferentes Hostfiles. Está em um arquivo. Protegido por uma senha. Então, se você armazenar 20 conexões para o arquivo, então se essa senha for comprometida, todas as 20 conexões também serão comprometidas.

Eu uso um par de arquivos hosts, Personal, Work e Misc não é muito um problema se uma senha é vazada, então

    
por 23.03.2016 / 16:10

Tags