Google Compute Engine - SSH ou RSYNC sem uma senha

0

Eu tenho várias instâncias do Google Compute Engine (GCE) em funcionamento. Eu tenho alguns scripts que extraem informações (arquivos de log, etc) dessas instâncias e alguns outros que fazem backup de arquivos. Eu gostaria de automatizar mais isso, mas toda vez que eu me conecto a uma instância do mecanismo de computação, preciso inserir minha senha.

Como faço para configurar o rsync ou o ssh, então não preciso de um passoword ou, como alternativa, como faço para alimentar minha senha nesses programas?

Observe que isso foi publicado originalmente no SO mas depois mudou para cá.

    
por speedplane 18.11.2014 / 07:01

1 resposta

1

O GCE ssh usa autenticação de chave pública, não senhas, por isso você tem as seguintes opções:

  1. use gcloud compute copy-files conforme descrito em esta resposta . Isso é provavelmente mais fácil, pois permitirá que você especifique projetos e nomes de host simbolicamente, pois os endereços IP podem mudar.

  2. use sftp conforme descrito em esta resposta , a saber:

    sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
    
  3. use ssh , mas com um caminho completo para o arquivo de chave registrado no GCE. Este comando é impresso quando você executa gcloud compute ssh <instance> para que você possa copiá-lo e colá-lo e usá-lo depois. Deve ser semelhante ao seguinte:

    ssh -i ~/.ssh/google_compute_engine \
        -o UserKnownHostsFile=/dev/null \
        -o CheckHostIP=no \
        -o StrictHostKeyChecking=no \
        USER@IP_ADDRESS
    

    Note que aqui você terá que usar endereços IP exatos aqui, então considere usar endereços IP estáticos ou DNS para criar um nome constante para endereços IP possivelmente variáveis (se você estiver usando IPs dinâmicos).

    Você pode ler mais na documentação .

por 23.11.2014 / 21:24