62 votes

J'ai accidentellement interdit la connexion SSH à un serveur distant... Quelle est la prochaine étape ?

Disons-le encore une fois, nous faisons tous des erreurs et je viens d'en faire un.

Un bref historique : Je faisais quelques travaux sur un VPS (Debian) que je loue, quand j'ai remarqué un comportement étrange. En utilisant le netstat j'ai vu une connexion non autorisée par SSH. Je ne savais pas quoi faire, alors j'ai décidé de fermer sa connexion en utilisant la commande iptables :

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Mais je suis fatigué, et j'ai écrit

iptables -A INPUT -p tcp --dport ssh -j DROP

et je me suis mis à la porte (et tous les autres)...

Comment puis-je réparer cela ?

2 votes

Pour la prochaine fois, peut-être un l'interrupteur de l'homme mort serait utile.

2 votes

Qui est votre hôte ? De nombreux hôtes de VM proposent une console série qui vous permet d'utiliser SSH dans les cas où vous ne pouvez pas le faire à distance.

0 votes

60voto

g491 Points 973

Il existe plusieurs alternatives :

  • Voyez s'ils ont un accès IPMI / "KVM" / console au serveur qui vous permet de le contrôler comme si vous aviez un clavier physique branché dessus.
  • Si ce n'est pas le cas, voyez si vous pouvez démarrer la VM sur un CD de récupération linux (certains fournisseurs le proposent) et corriger les règles du pare-feu de cette manière, puis démarrer la VM normalement.
  • Si vous n'avez pas accès à la console, avant de démarrer vers la récupération ou d'attacher le volume à une autre VM (comme dans le cas d'Amazon, créditer la réponse de l'utilisateur3550767), vous pouvez essayer la réponse d'Ankh2054 de redémarrer d'abord si vous n'avez pas sauvegardé les règles (probablement le cas puisque vous vous êtes mis hors tension avant d'avoir eu la chance de sauvegarder). Utilisez le panneau de configuration ou demandez à quelqu'un de le mettre sous tension en utilisant une réinitialisation / mise hors tension non gracieuse (alias redémarrage ou arrêt brutal) au cas où l'init script enregistre les règles automatiquement lors du redémarrage gracieux (crédit @jfalcon, @joshudson).

    Mesurez les inconvénients de cette solution (les données écrites pendant le redémarrage peuvent être perdues et une vérification du système de fichiers peut être nécessaire au démarrage, ce qui allonge le temps de démarrage, bien que ce délai puisse être inférieur à celui d'un démarrage en mode récupération).

1 votes

Selon le serveur vps, il n'y a peut-être pas d'accès à distance qu'il puisse atteindre. les systèmes comme vmware, kvm, xen, etc. ont des consoles mais ne sont pas configurés pour la consommation publique. les fermetures qui permettent cette forme de contrôle public sont openstack.

4 votes

Cela dit, s'il s'agit d'un espace amazon/google, il peut faire un snapshot du disque et le monter à partir d'une autre machine virtuelle pour effectuer la réparation.

47voto

Ankh2054 Points 1384

Si vous n'avez pas encore enregistré la règle IPtables, vous pouvez redémarrer le serveur sur le VPS (si disponible) et la règle devrait disparaître.

0 votes

À moins que le script init script ne sauvegarde l'iptables lors de l'arrêt.

3 votes

@jfalcon : C'est pourquoi vous pouvez leur demander de débrancher la prise virtuelle.

22 votes

@jfalcon C'est également la raison pour laquelle c'est une mauvaise idée de sauvegarder automatiquement lors de l'arrêt... faire en sorte que la sauvegarde soit une décision consciente de l'administrateur système, et non quelque chose d'exécuté aveuglément par le système.

30voto

RobertG Points 301

C'est à cela que servent les services d'assistance téléphonique avec du personnel. Appelez le fournisseur de services et demandez à l'un de ses opérateurs de supprimer la règle pour vous.

3voto

user3550767 Points 31

Une manière générale de réparer une instance cassée est de l'arrêter et d'attacher le volume racine à une instance qui fonctionne. Vous pouvez alors y monter le volume et consulter les journaux ou modifier les fichiers de configuration. Vous pouvez ensuite détacher le volume et le démarrer dans sa propre instance.

2 votes

Vrai pour les serveurs virtuels AWS, mais pas en général.

0 votes

@MadHatter Les détails exacts peuvent varier, mais si un fournisseur de VPS ne propose aucune méthode pour démarrer avec une image de travail connue à partir de laquelle vous pouvez monter et réparer votre système de fichiers racine, je m'attends à ce qu'il fasse faillite une fois que les clients auront pris connaissance de cette limitation.

0 votes

En général, ils le font en offrant un accès à la console, de sorte que vous pouvez démarrer en mode mono-utilisateur, ou à partir d'un support de secours (généralement présenté sous la forme d'un ISO). Je pense que c'est en fait beaucoup plus normal que l'étrange façon dont AWS gère le problème, où un deuxième VPS est (temporairement) nécessaire.

3voto

Sepero Points 4341

Réponse formelle : allez dans le panneau de gestion du VPS, obtenez un accès local (KVM virtuel) d'une manière ou d'une autre ou appelez-les.

Explication des étapes/règles pour éviter de se faire avoir à nouveau :

  1. Il y a des changements de règles d'IP, de routage et de pare-feu qui peuvent mal tourner et bloquer votre accès.
  2. et cela s'applique également à la configuration des périphériques réseau dédiés, et pas seulement aux VPS.

Donc, à moins que vous soyez sûr à 100% que vous pouvez récupérer Je recommande de toujours faire un moyen de réinitialiser la configuration du réseau à son état précédent comme, ouvrir une session en arrière-plan avec l'une des options suivantes screen , nohup ou tmux même cron peut fonctionner pour cela, et ajouter iptables -F ou tout autre moyen souhaité pour rétablir l'état précédent.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X