Script shell para automatizar consultas scp

0

Eu estou tentando criar um script de shell que irá scp automaticamente usando minha chave privada, uma porta de minha escolha e uma conta de usuário comumente usada (não minha própria conta). Eu consegui fazer isso para o ssh fazendo o seguinte.

####!/bin/bash

ssh -p (port#) <port #> -i ~/.ssh/.id_dsa  -o StrictHostKeyChecking=no -l admin $@

Para scp eu tenho o seguinte até agora.

####!/bin/bash

scp -P (port#) -i ~/.ssh/.id_dsa  $1   admin $@

Se eu tentar executar meu comando sem especificar o nome de usuário, recebo o seguinte.

user:~$ scputil <file to transfer> host:/tmp
[email protected]'s password:

Como você pode ver, ele está pedindo a senha do meu usuário quando eu esperava que ele usasse o administrador.

Se eu especificar o usuário junto com o meu comando, ele funcionará como eu esperaria

user:~$ scputil <file to transfer> [email protected]:/tmp/
<file to transfer>                                          22%   78MB  13.1MB/s   00:20 ETA

Alguém sabe de uma maneira de especificar o usuário para a transferência de arquivos dentro do script de shell?

Obrigado antecipadamente!

    
por CSmith 31.08.2016 / 05:32

1 resposta

0

No scp você pode usar a opção -o para passar as opções do ssh, usadas para efetuar login na transferência de arquivos.

Então, se você quiser fazer o scp logar como admin, use User=admin

para que seu comando scp se torne algo como

scp -o User=admin -P port -i public_key $@

    
por Nick Sillito 31.08.2016 / 08:23