web-dev-qa-db-fra.com

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

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

Un bref historique: je faisais des trucs sur un VPS (Debian) que je loue, quand j'ai remarqué un comportement étrange. En utilisant la commande netstat, j'ai vu une connexion non autorisée via SSH. Je ne savais pas quoi faire, j'ai donc décidé de fermer sa connexion en utilisant 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 expulsé (et tout le monde) ...

Comment puis-je réparer ça?

61
tomatoGuy

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é.
  • S'ils ne proposent pas cela, voyez si vous pouvez démarrer le VM sur un CD Linux de récupération (certains fournisseurs le proposent), puis corrigez les règles de pare-feu de cette façon, puis démarrez-le comme d'habitude.
  • Si vous n'avez pas accès à la console, avant de démarrer la récupération ou d'attacher le volume à un autre VM (comme dans le cas d'Amazon, créditez la réponse de l'utilisateur 3550767), vous pouvez essayer la réponse de Ankh2054 de redémarrage en premier si vous n'avez pas enregistré les règles (probablement le cas depuis que vous vous êtes expulsé avant d'avoir eu la chance de sauvegarder). Utilisez le panneau de commande ou demandez à quelqu'un de le redémarrer en utilisant une réinitialisation/mise hors tension non gracieuse arrêt brutal) dans le cas où le script init enregistre automatiquement les règles lors du redémarrage gracieux (crédit @jfalcon, @joshudson).

    Pesez les inconvénients de cela (comme les données écrites pendant le redémarrage peuvent être perdues et la vérification du système de fichiers peut être nécessaire au démarrage, donc un temps de démarrage plus long, bien que ce délai puisse être inférieur au démarrage de la récupération).

60
g491

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

47
Ankh2054

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

30
RobertG

Une façon générale de réparer une instance cassée consiste à l'arrêter et à attacher le volume racine à une instance qui fonctionne. Vous pouvez ensuite y monter le volume et afficher les journaux ou modifier les fichiers de configuration. Vous pouvez ensuite détacher le volume et le démarrer dans sa propre instance.

3
user3550767

Réponse formelle: accédez au panneau de gestion VPS, obtenez un accès local (KVM virtuel) ou appelez-les.

Explication des étapes/règles pour éviter de tomber de nouveau sous le charme:

  1. Il y a des changements de règles 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, pas seulement aux VPS

Donc, à moins que vous ne soyez sûr à 100% que vous pouvez récupérer .. Je recommande de toujours faire un moyen de réinitialiser la configuration réseau à son état précédent .. comme, ouvrir la session d'arrière-plan avec screen, Nohup , ou tmux, même cron peut fonctionner pour cela, et ajoutez iptables -F ou tout autre moyen souhaité pour réinitialiser quoi que ce soit à l'état précédent.

3
kagali-san