Posso fazer o scp solicitar um nome de usuário e senha?

2

Estou chamando scp de um script e quero que ele solicite ao usuário que execute o script a senha. Como eu faço isso?

    
por twk 28.05.2009 / 22:28

5 respostas

6

Escreva o prompt primeiro, leia a variável e use a variável para conectar-se ao scp

echo -n "username":
leia USERNM

scp $ USERNM @ qualquer que seja

    
por 28.05.2009 / 22:31
4

Além de Matt Simmons,

read -p "Username: " USERNM

solicita antes de ler

read -s -p"Password: " PASS

leria uma senha, EMBORA, você não pode passar isso para o SCP, então provavelmente não é útil!

Além disso, coloque

echo

depois da sua leitura para que coloque uma nova linha

por exemplo:

read -p "Username: " USERNM; echo
    
por 28.05.2009 / 22:37
1
read -p "Username:" USER
scp -l $USER -oPubkeyAuthentication=no

... eu acho.

Se não, será uma das opções ssh / scp -o para forçar a entrada de senha e não usar chaves públicas.

    
por 29.05.2009 / 19:16
0

uma abordagem alternativa, no caso de você precisar de um tratamento mais sofisticado do aplicativo interativo que está gerando, é usar Expect (http //expect.nist.gov/)

    
por 29.05.2009 / 03:15
0

O Scp só pedirá uma senha se precisar de uma (ou seja, sem autenticação de chave pública disponível) e achar que está sendo executada em uma sessão interativa. Se há uma chave pública funcional disponível, essa questão é discutível, então você só precisa ter certeza de que o scp sabe que ela está sendo executada em uma sessão interativa. Se o usuário executar diretamente um script a partir do shell que executa diretamente o scp , eles devem ficar bem.

    
por 29.05.2009 / 04:11

Tags