No bash, como posso usar um documento aqui, mas depois abrir o stdin?

2

Meu exemplo é que estou tunelando por um servidor e quero criar um comando para digitar uma senha, mas deixar stdin aberto quando isso for feito. Por exemplo, eu preciso sudo para um usuário diferente toda vez que eu fizer login neste host remoto. Então eu faço algo como:

ssh -p $tunnel_port $me@localhost -t "sudo -S -u $_remoteUser -i" <<< "$( findPassword )"

'findPassword' é uma função que obtém minha senha de um gerenciador de senhas

Isso fecha a conexão, como manter a conexão aberta depois que a senha foi gravada em stdin para o sudo?

    
por jaxzin 19.09.2015 / 00:26

1 resposta

0

Você tem as citações de forma que STDIN do comando ssh está sendo alimentado pelo findPassword. Você quer que o STDIN do comando sudo seja alimentado pelo findPassword.

ssh -p $tunnel_port $me@localhost -t "echo $(findPassword) | sudo -S -u $_remoteUser -i"

ou

ssh -p $tunnel_port $me@localhost -t "sudo -S -u $_remoteUser -i < $(findPassword)"

    
por 19.09.2015 / 01:32