.bashrc senha secundária personalizada e o SCP não está funcionando (senha secundária do SSH)

2

Para "alguma finalidade", adicionei um script no ~/.bashrc para solicitar uma senha secundária e ela serve ao meu propósito. Mas há apenas um pequeno problema.

Quando eu scp para o servidor, ele falha devido ao meu script personalizado no ~/.bashrc O erro que estou recebendo ao fazer um scp é "stdin: não é um tty"

Eu invoco sh second_pass.sh do ~/.bashrc

Conteúdo de second_pass.sh :

trapeze ()  {
    printf "Trying to kill me!!" }

trap trapeze SIGINT

while true; do echo "Please enter the password:" read -s password

if [[ -z "$password" ]] ; then
    continue ; fi

hash="$(echo -n "$password" | md5sum )" password='echo "$hash" | awk '{print $1}''

if [ "$password" == "a359c98e8c05feaf91bdb8cfc7dd6b" ] then
    exit ; else
    echo "WRONG!!!" fi done

o resultado é, quando eu faço scp é

stdin: is not a tty
Please enter the password:

e, em seguida, scp falha.

Eu quero usar o scp & também manter o script de solicitação de senha no meu ~/.bashrc .
Como posso conseguir isso?

    
por Mani 17.01.2015 / 10:04

1 resposta

0

tente substituir

 while true ; do echo ...

por

 while tty -s ; do echo ...

Isso desativará a verificação de senha dupla.

Isso pode não ser sua intenção.

Agora, se você mantiver sua estratégia de senha dupla, a única opção é puxar o arquivo com scp uma vez que você está loggon (e duas vezes identificado), isso depende da forma que o arquivo está vindo.

    
por 17.01.2015 / 11:47

Tags