2011-07-09 21 views
23

Este problema me ha estado molestando durante los últimos días.¿Cómo puedo habilitar el acceso raíz SSH en una instancia de Amazon EC2?

He estado trabajando en la configuración de un servidor LAMP en Amazon EC2. El problema principal es que estoy escribiendo una aplicación para un cliente que requiere mucho procesamiento de alta calidad, y Amazon EC2 parecía una buena opción.

principio me eligió una AMI básica que realmente no tiene nada. Traté de usar el acceso de root para iniciar sesión en SSH (usando WinSCP) y me dijeron que usara ec2-user.

He intentado utilizar EC2-usuario, y yo era capaz de iniciar sesión. Sin embargo, todavía no tenía acceso a la raíz y no podía instalar Apache. Hice algunas razones y descubrí el comando "sudo", y casi todos los artículos que leí sobre este tema me dijeron que usaban el acceso raíz o que iniciasen sesión en el usuario ec2 y sudo del usuario.

ya que he intentado de nuevo con un diferente IAM donde lámpara ya estaba instalado. Pude hacerlo funcionar, configurar una base de datos y comenzar a ejecutar un sitio web. Sin embargo, aún necesitaba instalar algunas extensiones. A saber, una API que estoy tratando de usar para esta aplicación requiere que se instale SOAP.

Aquí está mi dilema:

/$ whereis soap 
soap: 
/$ whereis yum 
yum: /usr/bin/yum /etc/yum /etc/yum.conf /usr/share/man/man8/yum.8.gz 
/$ yum install php-soap 
Loaded plugins: fastestmirror, priorities, security 
You need to be root to perform this command. 
/$ sudo yum install php-soap 
sudo: sorry, you must have a tty to run sudo 

Command 'sudo yum install php-soap' failed with return code 1 and error message sudo: sorry, you must have a tty to run sudo 

no puedo usar yum, porque no tengo acceso root, y siempre que puedo acceder a raíz tampoco me indica que utilice EC2 por el usuario o una contraseña I no tengo. La otra alternativa era usar sudo para hacer que el usuario ec2 actuara como root, pero siempre obtengo el error "lo siento, debes tener un tty para ejecutar sudo". Corrí ese mensaje de error en línea y parece que necesito agregar un usuario a sudoers ... que no puedo hacer sin acceso de root.

Este mismo problema me atormentó en dos AMI separados. En la primera, recibí un mensaje que decía que tenía que iniciar sesión como usuario ec2 (y debo tener un tty para ejecutar sudo), mientras que el segundo (con LAMP instalado) requería que ingresara una contraseña para root y para el usuario Tengo el mismo error de sudo.

Éstos son los identificadores de I del IAM utilizados:

ami-8c1fece5 
ami-6ae81503 

También probé una tercera IAM después de que también se había instalado lámpara ... ni siquiera podía entrar en eso en absoluto.

lo hice descargar mi clave SSH y usados ​​PuTTYgen para convertirlo en un archivo de PPK. Puedo iniciar sesión exitosamente como usuario ec2, pero no puedo obtener acceso a la raíz en ninguna parte.

He estado buscando por un poco de ayuda en esto, pero todos los artículos que he leído asume que el usuario disponga de acceso a la raíz disponible o tiene sudo disponibles en EC2-usuario. Yo tampoco tengo. ¿Es solo que necesito una nueva imagen?

Cualquier ayuda sería muy apreciada ...

+0

¿Puedes ejecutar 'su'? – Blender

+0

realmente, esto no es un problema de programación o está relacionado con stackoverflow.com ... debería pasar a http://unix.stackexchange.com/ - Dan Grossman respondió su pregunta sin embargo ... – sdolgy

+0

Me imaginé que estaba relacionado a la programación para que cuente ... – JaidynReiman

Respuesta

5

Utilice un verdadero cliente SSH como PuTTY, no WinSCP, un cliente de transferencia de archivos. Todos tus problemas desaparecerán

+1

Gracias ... Soy un poco nuevo en las instrucciones de la línea de comandos y SSH, así que asumí que WinSCP funcionaría bien ... Lo tengo funcionando ahora. – JaidynReiman

+0

+1 lo único que hizo que funcione para mí es ejecutar sudo desde PuTTY y no WinSCP - Gracias un millón, hizo que mi día :) –

+1

esto ... en realidad no responde el "* ¿Cómo puedo habilitar el acceso raíz SSH en ¿Una instancia de Amazon EC2? * "Pregunta ... –

53

Sólo traté

$ sudo su 

en uno de sus Amis y listo! Soy root ...

¡Diviértete!

[[email protected] ~]$ sudo su 
[[email protected] ec2-user]# 
+0

Gracias por la ayuda, pero ya lo hice antes y todavía no funcionó.El problema era el programa que estaba tratando de usar (solo pensé que el símbolo del sistema de WinSCP funcionaría igual que cualquier otra cosa, pero aparentemente no ...) – JaidynReiman

+0

Funcionó para mí. Estaba usando masilla ya en AWS Amazon Linux – nitigyan

1

(¿Informe de error?) Este es mi inicio de sesión en una instancia de ec2, a veces sudo su no funciona. Tengo que cerrar la sesión y volver a ver ssh para que funcione.

[[email protected] ~]$ su root 
    Password: 
    su: incorrect password 
    [[email protected] ~]$ exit 
    logout 
    Connection to ec2-50XXXX.compute-1.amazonaws.com closed. 
    ssh -i automata.pem [email protected] 
    whereis yum 
    yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum.8.gz 
    [[email protected] ~]$ sudo su 
    [[email protected] ec2-user]# 
+0

No estoy seguro. Ni siquiera estoy usando Amazon AWS nunca más. El verdadero problema que tuve fue que estaba usando el programa equivocado. – JaidynReiman

1

El archivo:

/etc/sudoers

tiene una línea

predeterminados requiretty

Comentando esto probablemente hará que el error desaparezca.

Primero trataría de entender por qué algo en su comando yum ya no tiene un tty.

Cambiar un archivo relacionado con la seguridad como /etc/sudoers es potencialmente silenciosamente peligroso.

1

Necesita editar el archivo sshd_config para permitir el acceso basado en contraseña Y debe agregar una contraseña a su usuario raíz. simple sólo tiene que seguir el pasos- sudo passwd root sudo nano -w/etc/ssh/sshd_config Descomentar/Añadir la siguiente línea PasswordAuthentication yes

3

Para Debian o Ubuntu EC2: privilegios de root 1. Get a través de la masilla

sudo su 
sudo passwd root 
  1. Acceder a la masilla como root

  2. editar el archivo/etc/ssh/sshd_config y comentar t que la última declaración HostKey o el similar a la anterior en el siguiente ejemplo:

    vi /etc/ssh/sshd_config 
    

Entonces

# HostKeys for protocol version 2 
    HostKey /etc/ssh/ssh_host_rsa_key 
    HostKey /etc/ssh/ssh_host_dsa_key 
    HostKey /etc/ssh/ssh_host_ecdsa_key 
    #HostKey /etc/ssh/ssh_host_ed00000_key 
  1. En mismo archivo, cambie la siguiente para parecerse a continuación:

    PermitRootLogin yes 
    #PasswordAuthentication no 
    
  2. Reiniciar ssh

    service ssh restart 
    
  3. Entrar como root con la contraseña de WinSCP

* I recomienda crear una copia de seguridad del archivo sshd_config antes de editar y luego volver a la original cuando haya terminado.

+0

El servicio debe ser 'sshd' tan' service sshd restart' – timothymarois

Cuestiones relacionadas