Forçar o SSH a solicitar minha senha de chave privada no shell (não em uma janela)

9

Quando uso o SSH pela primeira vez após a inicialização, ele solicita minha senha de desbloqueio de chave privada (que é o comportamento que eu espero). Mas faz isso em uma janela, não no shell (semelhante ao gksudoVS sudo). Isso é frustrante (eu tenho que usar o mouse para clicar na janela) e, às vezes, causa um bug (eu uso o terminal Guake, às vezes em tela cheia, caso em que não consigo me concentrar na janela SSH e sou forçado a reiniciar o X )

Portanto, minha pergunta é: Existe uma maneira de forçar o SSH a solicitar minha senha de chave privada na linha de comando, em vez de abrir uma janela?

Adrien Luxey
fonte
env ssh ... faria, mas isso perde o ssh-agent, então não está certo. Talvez alguém possa descobrir o resto.
Joshua

Respostas:

7

Você provavelmente tem um dos *-askpasspacotes instalados e a variável de ambiente SSH_ASKPASSdefinida de acordo; veja ssh (1) . Desativar a variável, por exemplo, no seu ~/.bashrc, ou desinstalar o pacote deve fazer o truque.

Consulte também Diga ao SSH para usar um prompt gráfico para a senha da chave do problema reverso e algumas dicas sobre o ambiente.

Murphy
fonte
11
Provavelmente não é esse o caso. O SSH solicita a senha sempre no TTY, a menos que ela não tenha uma (se você estiver em risco, aposto que você tem uma). O prompt provavelmente é de gnome-keyring(a captura de tela do OP confirmaria isso), conforme explicado na minha outra resposta.
Jakuje 17/02
De fato, a gnome-askpassjanela não se parece com o habitual: o askpass apenas lê "Digite sua senha do OpenSSH" com um campo de texto. Tentei fazer uma captura de tela, mas ela não funciona: a janela captura os principais eventos (o mesmo problema que causa o bug com a tela cheia). Vou tirar uma foto, se necessário.
Adrien Luxey
@AdrienLuxey Experimente o Gimp, ele pode tirar uma captura de tela da janela ativa após um tempo limite. Mais importante, porém, você deve verificar a árvore ps para ver quem / o que chama a janela.
Murphy
3

Você tem a chave privada adicionada gnome-keyringou outra coisa que emite o prompt da GUI para a senha. Você não pode se livrar disso nesta configuração.

Mas existe a possibilidade de usar normal ssh-agent(removendo gnome-keyringou iniciando ssh-agentdepois disso) e AddKeysToAgent yesopção no seu ssh_config, o que resultará no comportamento esperado - após a inicialização, o agente não terá nenhuma chave e será adicionado automaticamente após o primeiro uso.

Casos semelhantes são explicados em perguntas relacionadas:

Jakuje
fonte