Entrar com o shell mongo sem que minha senha seja mostrada?

1

Como posso entrar no shell mongo sem mostrar minha senha? Tudo diz para usar

mongo -u user -p password --authenticationDatabase admin

ou

mongo
> use admin;
> db.auth('user', 'password')

Eu não gosto de nenhum deles. O primeiro deixa um comando no histórico do cmd. O segundo não está no histórico, mas ainda é exibido na tela em texto simples. Eu tentei apenas especificar um usuário na esperança de obter um prompt de senha que não exibe caracteres enquanto digito, mas em ambos os casos ocorre um erro.

Existe uma maneira de entrar no MongoDB de uma forma que não coloque minha senha na tela ou armazene-a em um arquivo inseguro (como um .bat ou algo assim)?

    
por Corey Ogburn 31.07.2014 / 19:43

2 respostas

0

Esta é atualmente uma solicitação de recurso aberto (a partir de 2.6). Para fins de votação / rastreamento, veja SERVIDOR-3788 .

A única maneira que eu posso pensar em alcançar o que você pergunta no momento é não usar user / pass (ou seja, MONGODB-CR ). Se você usar certificados X509 para autenticar (novo em 2.6 e requer um SSL ativado), então você não terá mais o problema de exibição de texto simples e suas instâncias serão mais seguras em geral. É uma espécie de martelo para quebrar uma noz, mas até que a solicitação de recurso esteja completa, é a única opção real disponível se isso for uma exigência.

    
por 01.08.2014 / 10:32
0

Existe uma abordagem que você pode usar a partir da linha de comando que não faz eco da sua senha: especifique o parâmetro -p ou --password sem fornecer uma senha. Neste caso, você será solicitado a digitar uma senha.

Por exemplo:

# Short parameter form
mongo -u user -p --authenticationDatabase admin

# Long parameter form
mongo --username user --password --authenticationDatabase admin

A saída do shell será semelhante a:

MongoDB shell version: 3.2.11
Enter password: %

Eu testei isso já em MongoDB 2.4 (que chegou ao fim da vida em março de 2016).

    
por 06.12.2016 / 10:34