web-dev-qa-db-fra.com

SSHing dans le serveur EC2 via donne une erreur Veuillez vous connecter en tant qu'utilisateur ec2 plutôt qu'en tant qu'utilisateur root

Question comme titre. Pourquoi est-ce, j'ai utilisé la commande ssh: ssh -i mykey.pem [email protected] Mais je reçois cette erreur, ne trouve rien sur google. Qu'est-ce que je fais mal?

54
Tom

Vous vous connectez en tant que ec2-user comme l'a suggéré Klaus:

ssh -i key.pem ec2-user@Host

... puis vous utilisez Sudo pour exécuter les commandes. Par exemple, pour modifier le /etc/hosts fichier appartenant à root et nécessitant des privilèges root: Sudo nano /etc/hosts.

Ou vous exécutez Sudo su pour devenir l'utilisateur root.

77
Till

Par défaut, root l'utilisateur n'est pas autorisé à se connecter, mais vous pouvez utiliser ec2-user comme indiqué par d'autres.

Une fois connecté avec ec2-user vous passez à root et changez la configuration SSH.

Pour devenir l'utilisateur root que vous exécutez:

Sudo su -

Modifiez le fichier de configuration du démon SSH /etc/ssh/sshd_config, par exemple. en utilisant vi, et remplacez l'entrée PermitRootLogin par ce qui suit:

PermitRootLogin without-password

Rechargez la configuration du démon SSH en exécutant:

/etc/init.d/sshd reload

Le message Please login as the ec2-user user rather than root user. s'affiche car une commande est exécutée lorsque vous vous connectez avec la clé privée. Pour supprimer cette commande, éditez ~/.ssh/authorized_keys fichier et supprimez l'option command. La ligne doit commencer par le type de clé (par exemple, ssh-rsa).

(*) Faites à vos risques et périls. Je vous recommande de laisser toujours une console ouverte au cas où vous ne pourriez pas vous connecter après avoir effectué les modifications de configuration.

Pour référence, vous pouvez lire les pages de manuel:

man sshd_config
man sshd
64
Juan Hernandez

J'ai rencontré un problème similaire lors de la configuration d'un cluster hadoop sur Amazon ec2.

Mon nœud principal doit avoir un accès root ssh à chaque nœud travailleur/esclave. J'ai alias les connexions en ajoutant l'adresse IP, l'adresse privée et le nom d'alias de chaque nœud esclave au /etc/hosts/ fichier. (J'obtiens ces données en exécutant la commande echo -e "`hostname -i`\t`hostname -f`\talias-name"alias-name est ce que j'appelle chaque nœud (head ou n1 par exemple). Ensuite, je mets cette sortie pour chaque nœud dans le /etc/hosts fichier.

Le problème que j'ai rencontré est que lorsque je tape ssh n1 dans mon nœud principal pour ssh dans mon premier nœud esclave, j'obtiens le même message d'erreur: Please login as the use "ec2-user" rather than the user "root". Donc, après avoir fait quelques recherches, j'ai compris comment y remédier.

D'abord:

  • ssh dans votre serveur. l'accès non root (utilisateur ec2) est bien ici.
  • Ensuite su - votre chemin vers root. À présent vi /etc/ssh/sshd_config et commentez la ligne PermitRootLogin yes.
  • Quittez l'éditeur vi.
  • Redémarrez maintenant le démon ssh en tapant service sshd stop puis service sshd start.

Deuxième:

  • Maintenant, voici la partie pour laquelle j'ai dû creuser,
  • courir vi /root/.ssh/authorized_keys
  • Commentez tout jusqu'à ssh-rsa. Il suffit de mettre un # au début du contenu du fichier, avant no-port-forwarding... et appuyez sur Entrée sur ssh-rsa pour le déplacer vers la ligne suivante (de cette façon, vous n'avez rien à supprimer au cas où vous voudriez revenir en arrière).
  • quitter l'éditeur vi

Vous devriez maintenant pouvoir vous connecter à root sans que ce message d'erreur n'apparaisse.

En outre, si vous utilisez des alias pour une configuration de cluster; Répétez les mêmes étapes sur chaque nœud. Commencez par utiliser ssh ec2-user puis suivez les étapes. Après avoir ajouté l'adresse IP, l'adresse privée et le nom d'alias à votre /etc/hosts fichier, vous devriez pouvoir ssh dans la racine de chaque nœud en utilisant le nom d'alias par exemple ssh n1.

Le tutoriel que j'ai suivi est ici: https://www.youtube.com/watch?v=xrxQXfE7t9A

Mais il n'a pas discuté du problème avec la connexion root.

J'espère que ça t'as aidé! Ça a marché pour moi.

* Gardez à l'esprit que je n'ai pris aucune sécurité en considération. Il s'agit simplement d'une configuration pratique/dev.

11
brno792

Je pense que cela vous demande simplement de vous connecter avec un autre nom d'utilisateur. Avez-vous un utilisateur appelé ec2-user? Si oui, essayez ceci à la place:

ssh -i mykey.pem [email protected]
7

Résolu! Essayez de comparer le fichier de clé racine et le fichier de clé utilisateur)

diff /root/.ssh/authorized_keys /home/user/.ssh/authorized_keys

... et voyez

1

J'ai rencontré le même problème lorsque j'ai essayé d'accéder à mon instance EC2 en tant que "root" via le client Windows PuTTY, c'est ainsi que j'ai résolu le problème.

  1. Accédez au fichier de configuration SSH et modifiez-le pour autoriser la connexion root et l'authentification par mot de passe.

    • Connectez-vous en tant qu'utilisateur ec2 (par défaut, il est autorisé)
    • Entrez la commande ci-dessous pour ouvrir la configuration ssh

      Sudo vi /etc/ssh/sshd_config

    • Modifiez le fichier de configuration SSH comme ci-dessous en utilisant vi, comment utiliser l'éditeur vi

      PermitRootLogin yes (supprimer # à la mendicité s'il est présent)

      PasswordAuthentication yes

  2. Redémarrez SSH

    Sudo /etc/init.d/sshd restart

  3. Modifier/définir le mot de passe root

    Sudo passwd root

    saisissez un nouveau mot de passe et saisissez-le à nouveau (au moins 8 caractères)

  4. Quitter la session en cours et fermer PuTTY

    exit

  5. Essayez à nouveau de vous connecter en tant que root et tapez le mot de passe précédemment défini.
1
Akhil MK

Modifiez/etc/ssh/sshd_config et assurez-vous que cela est défini:

PasswordAuthentication yes

Rechargez ensuite SSH:

systemctl reload sshd.service

Vous pouvez maintenant vous connecter en tant qu'utilisateurs autres que ec2-user.

0
Mike Bobbitt