Ce problème me dérange depuis plusieurs jours.
J'ai travaillé sur la configuration d'un serveur LAMP sur Amazon EC2. Le problème principal est que j'écris une application pour un client qui nécessite beaucoup de traitement haut de gamme, et Amazon EC2 semblait être un bon choix.
Au début, j'ai commencé avec une AMI de base qui n'avait vraiment rien. J'ai essayé d'utiliser l'accès root pour me connecter à SSH (en utilisant WinSCP) et on m'a dit d'utiliser ec2-user.
J'ai essayé d'utiliser ec2-user et j'ai pu me connecter. Cependant, je n'avais toujours pas accès root et je n'ai pas pu installer Apache. J'ai fait une raison et j'ai découvert la commande "Sudo", et à peu près chaque article que j'ai lu sur ce problème disait d'utiliser soit l'accès root, soit de se connecter à ec2-user et à l'utilisateur Sudo.
J'ai depuis essayé à nouveau avec une autre AMI où LAMP était déjà installé. J'ai pu le faire fonctionner, créer une base de données et commencer à gérer un site Web à partir de celui-ci. Cependant, j'avais encore besoin d'installer certaines extensions. À savoir, une API que j'essaie d'utiliser pour cette application nécessite l'installation de SOAP.
Voici mon dilemme:
/$ 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
Je ne peux pas utiliser yum parce que je n'ai pas d'accès root, et chaque fois que je me connecte à root, il me dit d'utiliser ec2-user ou de fournir un mot de passe que je n'ai pas. L'autre alternative était d'utiliser Sudo pour que l'utilisateur ec2 agisse comme root, mais je reçois toujours l'erreur 'désolé, vous devez avoir un tty pour exécuter Sudo.' J'ai lancé ce message d'erreur en ligne et il semble que je doive ajouter un utilisateur aux sudoers ... ce que je ne peux pas faire sans accès root.
Ce même problème me tourmentait sur deux AMI distinctes. Le premier, je viens de recevoir un message disant que je devais me connecter en tant qu'utilisateur ec2 (et je dois avoir un tty pour exécuter Sudo), tandis que le second (avec LAMP installé) m'obligeait à entrer un mot de passe pour root et pour l'utilisateur J'ai la même erreur Sudo.
Voici les identifiants des AMI que j'ai utilisés:
AMI-8c1fece5
AMI-6ae81503
J'ai également essayé un troisième AMI plus tard qui avait également installé LAMP ... Je ne pouvais même pas y entrer du tout.
J'ai téléchargé ma clé SSH et utilisé PuttyGen pour la convertir en un fichier ppk. Je peux me connecter avec succès en tant qu'utilisateur ec2, mais je ne peux accéder à la racine nulle part.
J'ai cherché un peu d'aide pour cela, mais chaque article que j'ai lu suppose que l'utilisateur dispose soit d'un accès root, soit de Sudo sur ec2-user. Moi non plus. Est-ce juste que j'ai besoin d'une nouvelle image?
Toute aide serait grandement appréciée ...
Utilisez un vrai client SSH comme PuTTY , pas WinSCP, un client de transfert de fichiers. Tous vos problèmes disparaîtront.
J'ai juste essayé
$ Sudo su
sur l'un de vos amis et le tour est joué! Je suis root ...
S'amuser!
[ec2-user@ip-10-244-146-238 ~]$ Sudo su
[root@ip-10-244-146-238 ec2-user]#
Pour Debian ou Ubuntu EC2:
Définissez le mot de passe root via PuTTY:
Sudo passwd root
Connectez-vous à PuTTY en tant que root
ubuntu@aws1:~$ su
Password:
Modifiez votre fichier/etc/ssh/sshd_config et commentez la dernière instruction HostKey ou similaire à la dernière dans l'exemple ci-dessous:
vi /etc/ssh/sshd_config
Ensuite
# 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
Dans le même fichier, modifiez ce qui suit pour ressembler à ci-dessous:
PermitRootLogin yes
#PasswordAuthentication no
Redémarrez ssh
service ssh restart
Connectez-vous en tant que root avec le mot de passe de WinSCP
* Je recommande de créer une sauvegarde du fichier sshd_config avant de le modifier, puis de revenir à l'original une fois terminé.
Vous devez modifier le fichier sshd_config pour autoriser l'accès par mot de passe. Vous devez également ajouter un mot de passe à votre utilisateur root. Suivez simplement les étapes - Sudo passwd root Sudo nano -w/etc/ssh/sshd_config Décommentez/Ajoutez la ligne suivante PasswordAuthentication yes
(Rapport de bogue?) Ceci est mon journal sur une instance d'ec2, parfois Sudo su
ne fonctionne pas. Je dois me déconnecter et ssh à nouveau pour le faire fonctionner.
[ec2-user@ip-XXXX ~]$ su root
Password:
su: incorrect password
[ec2-user@ip-XXXX ~]$ 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
[ec2-user@ip-XXXX ~]$ Sudo su
[root@ip-XXXX ec2-user]#
Le fichier:
/ etc/sudoers
a une ligne
Valeurs par défaut requises
Le commenter fera probablement disparaître l'erreur.
J'essaierais d'abord de comprendre pourquoi quelque chose dans votre commande yum n'a plus de tty.
La modification d'un fichier lié à la sécurité comme/etc/sudoers est potentiellement dangereuse et silencieuse.