2014-06-25 15 views
9

Durante la creazione di un'istanza ec2, viene fornito un nome di coppia di chiavi.creare un'istanza ec2 con più coppie di chiavi

Generalmente, associo più chiavi pubbliche/private ssh con qualsiasi server remoto. So che non è possibile collegare una coppia di chiavi una volta che il server ec2 è stato creato. Quindi vorrei sapere se è possibile o no utilizzare più coppie di chiavi durante la creazione di un'istanza.

+0

L'API EC2 non consente di specificare più di un nome di chiave nella chiamata RunInstances. Questo post sul forum (https://forums.aws.amazon.com/message.jspa?messageID=420800) contiene alcune buone informazioni sulla scrittura del proprio script per fare ciò all'avvio dell'istanza. – garnaat

+0

Vedere anche: http://security.stackexchange.com/questions/87480/managing-multiple-ssh-private-keys-for-a-team/87486 – Jason

risposta

1

Non è possibile associare più coppie di chiavi a un'istanza EC2.

Detto questo, è possibile creare più utenti e fornire loro l'accesso all'istanza tramite SSH con Key Authentication anziché password.

il processo va in questo modo

  • creare un nuovo utente
  • allocare/forniscono permessi e privilegi appropriati
  • generano una chiave - certificato di
  • associare il certificato per l'utente

Ulteriori informazioni - SSH with authentication key instead of password

+1

Ciò significa che è necessario creare un'istanza EC2 senza una coppia di chiavi associata ? – Fydo

+0

Non capisco.Se non è possibile associare più coppie di chiavi a un'istanza EC2, come potrebbe mai più di un utente utilizzare l'istanza? Non dovrebbe ogni utente avere la propria chiave/coppia? –

+0

La coppia di chiavi e l'utente iniziali (utente EC2 per amzn Linux) sono impostati per impostazione predefinita. Puoi creare utenti aggiuntivi come sempre in Linux e utilizzare l'autenticazione basata su password o associare una chiave SSH, ancora una volta la chiave ssh non deve provenire da Amazon puoi generarla automaticamente. –

5

Non è possibile ... l'unico modo è modificare manualmente ~/.ssh/authorized_keys e aggiungere le chiavi pubbliche degli utenti aggiuntivi a cui si desidera consentire l'accesso. Lo svantaggio di questo approccio è che dovrai ripetere questa operazione più volte, quando il tuo EC2 verrà terminato. Non proprio comoda in un ambiente di sviluppo/testing ... :(

12

Purtroppo, non è anche possibile importare una chiave che hanno due voci. Solo la prima voce viene importato nella nuova coppia di chiavi.

Quello che può fare è:

non utilizzare le coppie di chiavi EC2 ma invece utilizzare il campo user_data per inserire più chiavi pubbliche SSH nel file /home/<user>/.ssh/authorized_keys, dove si trova l'utente standard per il vostro AMI (ubuntu, ec2_user etc.)

È possibile aggiungere user_data a ogni istanza EC2 di avvio. Si consideri il seguente esempio: script di dati

#!/bin/bash 
echo "ssh-rsa AAAA…" > /home/ubuntu/.ssh/authorized_keys 
echo "ssh-rsa AAAA…" >> /home/ubuntu/.ssh/authorized_keys 
chown ubuntu: /home/ubuntu/.ssh/authorized_keys 
chmod 0600 /home/ubuntu/.ssh/authorized_keys 

utente eseguiti come root in modo non è necessario specificare sudo.

In questo modo, è possibile creare chiavi di accesso SSH personalizzate tramite strumenti come Terraform prima di gestire le istanze con Ansible o simili.

Nota che non si sa quali chiavi vengono utilizzate da un semplice sguardo, però. Avresti bisogno di accedere alla macchina per controllarlo.

Problemi correlati