web-dev-qa-db-fra.com

Comment exécuter temporairement un serveur SSH secondaire sur un port séparé

Comment gérez-vous un démon SSH sur un autre port autre que la norme 22?

J'ai foiré quelque chose avec ma configuration SSH sur un cloud VM, de sorte que maintenant SSH me demande toujours un mot de passe. Mes tentatives tentatives de réparer cela me sont enfermées, me forçant à menacer le disque, à monter dans une machine virtuelle de travail et à réparer les fichiers à un état de travail connu. Cependant, il me oblige toujours à entrer un mot de passe.

Je voudrais mettre à jour mon /etc/ssh/sshd_config Et redémarrez le démon principal SSH, que je peux tester, tout en ayant une autre exécution, à l'aide de l'ancienne configuration, que je peux utiliser pour revenir à la configuration au cas où le premier me verrouille. Comment ferais-je cela, spécifiquement sur Ubuntu?

11
Cerin

Vous n'avez pas mentionné une version Ubuntu, alors je ne suis donc pas sûr de quel système Init vous exécutez.

Si SystemD, vous pouvez avoir un fichier /etc/systemd/system/sshd.service. Que vous pouvez faire une copie de /etc/systemd/system/sshd_alt.service. Puis ajustez la ligne ExecStart ligne et ajoutez un -p 22000 Ou quelque chose. Après cela, systemctl enable sshd_alt Et systemctl start sshd_alt. Vous pouvez également signaler dans un fichier de configuration complètement différent.

Vous pouvez également simplement commencer manuellement une copie à l'écran ou quelque chose si cela est juste une chose unique. Il suffit de démarrer l'écran et faites quelque chose comme /usr/sbin/sshd -D -p 22200. Vous démarrerez un démon SSHD de rechange jusqu'à ce que vous puissiez rétablir cet écran et tuer le processus.

Ou comme @eeaa a dit. Ne déconnectez-vous simplement pas, utilisez une deuxième session pour tester que vous pouvez vous reconnecter.

19
Zoredache

Vous pouvez démarrer un SSHD sur un autre port avec cette commande:

sshd -p 12345

Remplacez 12345 par votre numéro de port préféré. Si sshd n'est pas dans votre PATH, vous devrez peut-être utiliser le chemin complet de la commande, par exemple. /usr/sbin/sshd.

Il suffit de quitter une session SSH active et utilisez une autre pour modifier vos modifications de configuration. Votre session d'origine restera connectée et disponible pour revenir à des modifications si votre configuration change de casse quelque chose.

9
EEAA