Lembre-se da senha SSH após inserir uma vez sem chaves SSH

1

Tenho que trabalhar muito com o SSH em servidores diferentes, onde não posso armazenar uma chave pública no servidor remoto. Então eu não posso usar o SSH-Keys e o SSH-Agent.

A autenticação é sobre LDAP, portanto, é sempre a mesma senha. Eu gostaria de inserir minha senha uma vez por sessão que é então armazenada em algum lugar e usá-la para todas as outras conexões.

Eu pesquisei muito e a melhor maneira que encontrei foi armazenar a senha em uma variável de ambiente e usar sshpass como:

SSHPASS=mypass sshpass -e ssh username@servername

Mas eu não gosto da idéia de saber que minha senha é salva em um ambiente variável. Existe uma maneira melhor de fazer isso?

    
por user1584403 03.03.2017 / 11:05

1 resposta

2

Não realmente, pelo som disso.

Eu acho que você poderia embrulhar o sshpass em um script, para evitar ter a senha em seu env, mas você o escreveu em um script. Basicamente, se uma senha deve estar envolvida, você provavelmente só tem que lidar com isso.

Uma possibilidade pode estar usando certificados SSH em vez de pubkeys, o que permite mais granularidade e controle (veja link ).

O Kerberos também parece que marcaria as caixas de todos, mas o Kerberos não é necessariamente algo que as pessoas querem adotar, e eu teria dúvidas sobre isso seriamente considerado. Mas forneceria exatamente o tipo de compromisso que você procura (sem pubkeys, mas também a capacidade de fazer logins sem senha durante uma sessão).

Uma solução intermediária que pode explicar suas necessidades e as preocupações / políticas do operador do servidor pode ser algo como Teleport , que fornece um jumphost e controles de acesso razoavelmente strongs.

tl; dr : Parece que você pode precisar dar um golpe se quiser evitar expor sua senha, e sua melhor opção pode ser tentar propor uma solução que seja responsável por quaisquer preocupações os administradores têm sobre o pubkey.

    
por 03.03.2017 / 11:19