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
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?
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
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
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.
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/)
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.
Tags scp