Pourquoi est-ce que je reçois des erreurs lorsque j'utilise la console SSH basée sur un navigateur pour accéder à mon instance Lightsail ?
Je reçois un message UPSTREAM_ERROR [515], UPSTREAM_NOT_FOUND [519] ou CLIENT_UNAUTHORIZED [769] lorsque j'utilise la console SSH basée sur un navigateur pour me connecter à mon instance Amazon Lightsail.
Brève description
Si vous recevez des erreurs liées au SSH lorsque vous vous connectez à votre instance Lightsail, les messages suivants peuvent s'afficher :
- « Your instance encountered an error and has closed the connection. Try again or contact customer support. UPSTREAM_ERROR [515] »
- « An error occurred and we were unable to connect or stay connected to your instance. If this instance has just started up, try again in a minute or two. » UPSTREAM_NOT_FOUND [519] »
- « Login failed. If this instance has just started up, try again in a minute or two. » CLIENT_UNAUTHORIZED [769] »
Les erreurs UPSTREAM_ERROR [515] et UPSTREAM_NOT_FOUND [519] indiquent que vous ne pouvez pas accéder à votre instance Lightsail via SSH. Les raisons courantes de cette erreur sont les suivantes :
- L'instance présente des problèmes, tels qu'un échec de démarrage, un échec de la vérification du statut ou une utilisation excessive des ressources.
- Un pare-feu au niveau du système d'exploitation bloque l'accès au port SSH.
- Le port SSH (22) n'est pas le port par défaut.
- Le service SSH est en panne.
L'erreur CLIENT\ _UNAUTHORIZED [769] indique qu'il existe un problème d'authentification SSH dans votre instance Lightsail. Les raisons courantes de cette erreur sont les suivantes :
- Vous avez mal configuré la clé système Lightsail /etc/ssh/lightsail_instance_ca.pub.
- Vous avez mis à niveau la version de votre instance Ubuntu vers la version 20.04 ou ultérieure.
Résolution
Il y a un échec du démarrage de l'instance, un échec de la vérification du statut de l'instance ou une surutilisation des ressources
Consultez vos métriques d’instance pour déterminer si l’instance a échoué à la vérification du statut du système ou à la vérification du statut de l'instance.
Vérification du statut du système
Si la vérification du statut du système a échoué, cela signifie que le matériel sous-jacent de l'instance est défectueux. Pour résoudre le problème, arrêtez, puis redémarrez l'instance pour la faire migrer vers un matériel sain.
Avertissement : L'adresse IP publique de l'instance change après l'arrêt et le démarrage de l'instance. Si vous ne souhaitez pas que l'adresse IP publique change à chaque arrêt et démarrage, attachez une adresse IP statique avant d'arrêter l'instance.
Vérification du statut de l'instance
Si la vérification du statut de l'instance a échoué, un problème au niveau du système d'exploitation peut être à l'origine d'erreurs de démarrage. Il se peut également que les ressources de l'instance, telles que le processeur ou la mémoire, soient surexploitées. Pour les étapes de dépannage, consultez Comment puis-je résoudre les problèmes courants entraînant le non-fonctionnement de mon instance Lightsail ?
Un pare-feu au niveau du système d'exploitation bloque l'accès au port SSH
L'accès SSH via un navigateur utilise l'adresse IP interne d'Amazon pour se connecter à votre instance Lightsail. Certains pare-feux et fichiers de contrôle d'accès au niveau du système d'exploitation autorisent l'accès SSH à un seul ensemble d'adresses IP. Dans ce cas, vous recevez l'erreur UPSTREAM_NOT_FOUND [519] ou UPSTREAM_ERROR [515]. Le même problème se produit lorsqu'un pare-feu bloque complètement l'accès SSH.
Remarque : Parmi les exemples de pare-feux au niveau du système d'exploitation, citons Iptables et UFW. Un exemple de fichier de contrôle est /etc/hosts.deny qui héberge le contrôle d'accès dans les instances basées sur cPanel.
Pour résoudre ce problème, prenez l'une des mesures suivantes :
- Si vous pouvez utiliser SSH pour accéder à l'instance depuis le terminal ou l'application PuTTY, connectez-vous à l'instance. Supprimez les règles de refus du pare-feu et du fichier /etc/hosts.deny .
- Si vous possédez une instance de cPanel, accédez à la console WHM pour supprimer les règles de pare-feu.
- Si vous ne pouvez pas utiliser SSH pour vous connecter à l'instance depuis le terminal ou l'application PuTTY, utilisez un script de lancement pour désactiver le pare-feu. Vous ne pouvez ajouter le script de lancement que lorsque vous lancez une instance.
Pour utiliser un script de lancement afin de désactiver les pare-feux au niveau du système d'exploitation, Iptables et UFW, procédez comme suit :
-
Ouvrez la console Amazon Lightsail.
-
Dans l'onglet Instantanés, sous Instantanés manuels, choisissez les trois points à côté du nouvel instantané.
-
Choisissez Créer une nouvelle instance.
-
Sélectionnez la même zone de disponibilité que l'instance précédente.
-
Choisissez Ajouter un script de lancement, puis ajoutez le script suivant.
Remarque : L'exemple de script suivant désactive le pare-feu UFW, efface toutes les chaînes Iptable ou les règles de pare-feu et renomme le fichier /etc/hosts.deny pour le désactiver :sudo ufw disable sudo iptables -F sudo mv /etc/hosts.deny /etc/hosts.deny_backup sudo touch /etc/hosts.deny sudo systemctl enable sshd sudo systemctl restart sshd
-
Choisissez un nouveau plan d'instance ou utilisez le même plan que l'instance précédente.
-
Entrez un nom pour l'instance, puis choisissez Créer une instance.
Une fois que la nouvelle instance a commencé à s'exécuter, attendez 10 à 15 minutes, puis utilisez la console SSH basée sur un navigateur pour essayer de vous connecter à l'instance.
Remarque : Si l'instance précédente avait une adresse IP statique, utilisez l'adresse IP statique de la nouvelle instance. Dans l'onglet Réseau de la console Lightsail, détachez l'adresse IP statique, puis associez-la à la nouvelle instance.
Le service SSH est arrêté
Si le service SSH n'est pas en cours d'exécution ou actif sur l'instance, la connexion SSH échoue et vous recevez l'erreur UPSTREAM_NOT_FOUND [519]. Pour résoudre ce problème, configurez AWS Systems Manager Session Manager pour votre instance Lightsail. Accédez ensuite à l'instance sans le service SSH pour résoudre le problème SSH.
Les étapes de dépannage de base pour les problèmes SSH incluent :
- Selon la distribution du système d'exploitation, consultez les journaux d'authentification SSH dans le fichier /var/log/auth.log ou /var/log/secure pour identifier les erreurs.
- Testez la syntaxe du fichier de configuration SSH, puis corrigez les éventuelles erreurs :
sudo sshd -t sudo systemctl restart sshd
Vous avez mal configuré la clé système Lightsail /etc/ssh/lightsail_instance_ca.pub
Lightsail utilise la clé système /etc/ssh/lightsail_instance_ca.pub pour activer l'accès SSH basée sur un navigateur. Si ce fichier est manquant, l'authentification SSH échoue et vous recevez l'erreur CLIENT_UNAUTHORIZED [769]. La même erreur se produit lorsque la clé système Lightsail n'est pas spécifiée dans le paramètre TrustedUserCAKeys du fichier de configuration SSH /etc/ssh/sshd_config.
Si vous pouvez utiliser SSH pour vous connecter à l'instance via le terminal ou l'application PuTTY, connectez-vous à l'instance. Vérifiez que le fichier /etc/ssh/sshd_config existe et qu'il contient la clé ssh-rsa.
Si le fichier est manquant, procédez comme suit pour le recréer :
-
Exécutez la commande suivante pour confirmer que vous obtenez la clé ssh-rsa dans la sortie de la commande :
sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
-
Si la commande renvoie la clé ssh-rsa dans la sortie, exécutez les commandes suivantes pour la copier dans /etc/ssh/lightsail_instance_ca.pub :
sudo sh -c "cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa > /etc/ssh/lightsail_instance_ca.pub" sudo sh -c "echo >> /etc/ssh/sshd_config" sudo sh -c "echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config" sudo systemctl restart sshd
-
Si vous n'obtenez pas de clé ssh-rsa ou si vous ne pouvez pas utiliser SSH pour vous connecter à l'instance, créez un instantané de l'instance. Lorsque vous lancez une nouvelle instance à partir du snapshot, la clé système Lightsail est automatiquement ajoutée au serveur lors du lancement de l'instance.
Vous avez mis à niveau la version de votre instance Ubuntu vers la version 20.04 ou ultérieure
Pour les instances qui exécutent Ubuntu 20.04 ou une version ultérieure, vous devez autoriser les autorités de certification (CA) à utiliser l'algorithme ssh-rsa pour signer les certificats. Sinon, l'authentification échoue et le message d'erreur CLIENT_UNAUTHORIZED [769] s'affiche. Dans la version 20.04 ou ultérieure de l'instance Ubuntu, les autorités de certification sont autorisées à utiliser l'algorithme ssh-rsa par défaut. Toutefois, si vous mettez à niveau la version précédente de votre instance Ubuntu vers la version 20.04, vous devez autoriser manuellement les autorités de certification.
Pour autoriser manuellement les autorités de certification, procédez comme suit :
-
Utilisez un client SSH, tel que le terminal ou l'application PuTTY pour vous connecter à l'instance.
-
Ouvrez le fichier de configuration SSH (/etc/ssh/sshd_config).
-
Ajoutez les paramètres CA au fichier correspondant à la version de votre instance Ubuntu :
Version de l'instance Ubuntu mise à niveau vers 20.04
Entrez manuellement la ligne de paramètre CASignatureAlgorithms dans le fichier sshd_config :
$ sudo vi /etc/ssh/sshd_config $ cat /etc/ssh/sshd_config | egrep "CASignature" CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Version de l'instance Ubuntu mise à niveau vers 22.04
Entrez manuellement les lignes de paramètres CASignatureAlgorithms et PubkeyAcceptedAlgorithms dans le fichier sshd_config :
$ sudo vi /etc/ssh/sshd_config $ cat /etc/ssh/sshd_config | egrep "CASignature|PubkeyAccepted" CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa-cert-v01@openssh.com,ssh-rsa
-
Exécutez la commande suivante pour valider le contenu du fichier de configuration sshd :
$ sudo sshd -T
-
Exécutez la commande suivante pour redémarrer les services sshd :
$ sudo systemctl restart sshd
Contenus pertinents
- demandé il y a 7 moislg...
- demandé il y a 5 moislg...
- demandé il y a un anlg...
- demandé il y a 2 anslg...
- demandé il y a 2 moislg...
- AWS OFFICIELA mis à jour il y a 8 mois
- AWS OFFICIELA mis à jour il y a 6 mois