2011-05-25 14 views
42

1: ¿Hay alguna forma de iniciar sesión en una instancia de AWS sin usar pares de claves? Quiero configurar un par de sitios/usuarios en una sola instancia. Sin embargo, no deseo dar pares de claves para que los clientes inicien sesión.Instancia de SSH a AWS sin pares de claves

2: ¿Cuál es la forma más sencilla de configurar sitios/usuarios de hosting en 1 instancia de AWS con diferentes dominios apuntando a directorios separados?

Respuesta

18

1) Debería poder cambiar la configuración de ssh (en Ubuntu esto es típicamente en /etc/ssh o /etc/sshd) y volver a habilitar las contraseñas de contraseña.

2) No hay nada realmente específico de AWS sobre esto: Apache puede manejar VHOSTS (hosts virtuales) de fábrica, lo que le permite especificar que un cierto dominio se sirve desde un directorio determinado. Lo buscaría en Google para obtener más información sobre los detalles.

+0

¿Es posible utilizar HTTPS en estas condiciones (1 IP y múltiples dominios virtuales)? ¿Conoces documentos que expliquen cómo configurar openSSL para todos los dominios? – Andres

+0

Así que me referí a esto en mi pregunta, pero dado que esta es la respuesta aceptada, quiero aclararla. Hay un componente específico de AWS para esta respuesta. Cloud Init, que se ejecutará como parte del arranque, sobrescribirá la configuración que establezca utilizando este método. Esto es lo que mi respuesta aborda. –

107

respuesta a la pregunta 1

Aquí es lo que hice en un Ubuntu EC2:

A) Entrar como root con los pares de claves

B) Configuración de los usuarios necesarios y sus contraseñas con

# sudo adduser USERNAME 
# sudo passwd USERNAME 

C) Editar /etc/ssh/sshd_config configuración

Para un usuario válido para iniciar sesión con ninguna tecla

PasswordAuthentication yes

también quieren raíz para iniciar sesión también sin llave

PermitRootLogin yes

D) reiniciar el demonio ssh con

# sudo service ssh restart 

Ahora puede hacerlo Desplácese a su instancia ec2 sin pares de claves.

+6

Gracias, y en Amazon AMI, el último comando debería ser: "sudo service sshd restart" – Suman

+6

Para mí esto funcionó "sudo service ssh restart" – Prabhat

+0

Gracias. Pero esto aún no resuelve la cuenta 'ec2-user' predeterminada. –

13

Vine aquí a través de Google buscando una respuesta sobre cómo configurar Cloud init para no desactivar PasswordAuthentication en AWS. Ambas respuestas no abordan el problema. Sin él, si crea un AMI, al iniciarse la instancia, cloud init desactivará nuevamente esta opción.

El método correcto para hacer esto, es que en lugar de cambiar manualmente sshd_config, debe corregir la configuración de cloud init (herramienta de código abierto utilizada para configurar una instancia durante el suministro. Más información en: https://cloudinit.readthedocs.org/en/latest/). El archivo de configuración para cloud init se encuentra en: /etc/cloud/cloud.cfg

Este archivo se utiliza para configurar gran parte de la configuración utilizada por cloud init. Lea este archivo para ver ejemplos de elementos que puede configurar en cloud-init. Esto incluye elementos como nombre de usuario predeterminado en una instancia recién creada)

Para habilitar o deshabilitar el inicio de sesión con contraseña a través de SSH, debe cambiar el valor del parámetro ssh_pwauth. Después de cambiar el parámetro ssh_pwauth de 0 a 1 en el archivo /etc/cloud/cloud.cfg hornee un AMI. Si inicia desde este AMI recién horneado, tendrá la autenticación de contraseña habilitada después del aprovisionamiento.

Puede confirmar esto comprobando el valor de PasswordAuthentication en la configuración de ssh como se menciona en las otras respuestas.

+0

Sospecho que esta respuesta apunta a la solución correcta, pero está tan mal escrita que no puedo entenderla. –

+0

Ni siquiera sabía que este archivo existía. ¡Gran respuesta! –

+1

@JimMaguire Supongo que asumí mucha información de fondo. He agregado más aclaraciones. ¿Eso ayuda? ¿Tiene algunas sugerencias particulares que quiere que incorpore? –

0

su - root

Goto /etc/ssh/sshd_config

vi sshd_config

Autenticación:

PermitRootLogin yes

para habilitar las contraseñas vacías, a cambio sí (no recomendado)

PermitEmptyPasswords no

Cambiar para no para desactivar un túnel contraseñas de texto

PasswordAuthentication yes

: x!

a continuación, reinicie el servicio ssh

[email protected]:/etc/ssh# service ssh restart 
ssh stop/waiting 
ssh start/running, process 10978 

archivos sudoers Ahora Goto (/ etc/sudoers).

privilegio del usuario especificación

root ALL=(ALL)NOPASSWD:ALL 
yourinstanceuser ALL=(ALL)NOPASSWD:ALL /This is the user by which you are launching instance. 
Cuestiones relacionadas