SSH em muitos sistemas com chaves RSA sem senha

6

Suponha que eu precise de SSH em muitos sistemas e execute um comando simples em cada um. O problema é que eu não quero ter que digitar minha senha 50 vezes seguidas para fazer isso. Então eu acho que vou usar chaves RSA sem uma frase secreta temporariamente. Minha pergunta é: essa prática padrão é definir temporariamente seu arquivo de chave privada para não ter uma frase secreta para fins de execução de um script não interativo; nesse ponto, você definiria uma senha muito segura por meio do comando ssh-keygen -p ? Existe outra maneira de conseguir isso?

    
por Timothy Pulliam 22.12.2016 / 20:30

1 resposta

14

My question is, is this standard practice to temporarily set your private key file to not have a passphrase for the purposes of running a non interactive script [...]

Não. A prática padrão é usar um agente de chaves para armazenar sua frase secreta. Ao usar um agente de chave, você pode inserir sua frase-senha uma vez, ao adicionar a chave ao agente, e depois o agente a fornecerá às conexões ssh que você iniciar.

Existem muitos tutoriais sobre isso. Aqui está o uso básico em poucas palavras:

# start ssh key agent and set environment variables
eval $(ssh-agent)

# add your private key
ssh-add

Como funciona, em poucas palavras:

  • O comando ssh-agent exibe algumas variáveis de ambiente que você precisa definir, para que os programas (como ssh , scp , rsync e outros) encontrem o processo ssh-agent . Esta saída está pronta para executar, para realmente definir as variáveis, e esta é a finalidade da instrução eval .

  • ssh-add encontra o processo ssh-agent graças às variáveis de ambiente configuradas e adiciona a chave privada ao local padrão no diretório ~/.ssh . Neste ponto, você será solicitado a digitar a frase secreta.

Depois disso, você poderá ssh , scp e outras pessoas para qualquer servidor em que sua chave esteja autorizada, sem precisar redigitar a frase secreta.

    
por 22.12.2016 / 20:32

Tags