Insira a senha no campo de senha do terminal sem o teclado

1

Eu tenho várias contas temporárias no meu PC que eu uso para testes e alterno entre elas com muita frequência. Digamos que um deles seja test e outro seja test1 . Eu estou trabalhando em test e tenho que ir para test1 . Normalmente, eu faria su - test1 , o que retornaria um campo Password: pedindo senha para test1 . Então eu digitei a senha e pressione Enter . Existe alguma maneira de armazenar a senha em uma variável pass e alimentá-lo com o comando su para escapar do campo Password: ?

Observação: estou ciente do risco de segurança envolvido em usá-lo com su e salvar senha em uma variável. Eu não estou preocupado com eles, pois são apenas algumas contas temporárias.

    
por Fazle Rabbi 08.11.2016 / 05:37

2 respostas

0

su faz isatty(3) para certificar-se de que o STDIN se refere realmente a um TTY.

Portanto, você não pode usar qualquer variável para passar a senha para su via STDIN.

    
por 08.11.2016 / 05:51
0

Então, eu li heemail como resposta e fiquei desarmada. Então eu notei a sugestão de Ulrich Schwarz em fazê-lo com ssh . Fiz algumas leituras em ssh e tropecei em algo chamado sshpass . Ele pega a senha e dá entrada para o comando ssh. Eu passaria pela documentação do furo / man page.

Resolva meu problema: Assumindo meu password para test1 1tset , o comando para meu problema será: sshpass -p '1tset' ssh test1@host

    
por 08.11.2016 / 18:09