web-dev-qa-db-fra.com

Comment désinstaller / réinstaller cygwin pour utiliser sshd?

J'ai installé cygwin/sshd sans obtenir de bons résultats. J'ai supprimé le répertoire c:\cygwin pour le réinstaller. J'ai enlevé l'utilisateur sshd Administrator à la main.

J'ai réinstallé cygwin à nouveau, puis lancez 'ssh-Host-config -y' Étrangement, cela ne demande rien de faire un nouvel utilisateur. Et la procédure est vraiment courte.

 $ ssh-Host-config -y 
 * Requête: écraser le fichier/etc/ssh_config existant? (oui/non) oui Info: Création du fichier/etc/ssh_config par défaut 
 Requête: Écraser le fichier/etc/sshd_config existant? (Oui/non) oui Info: création du fichier/etc/sshd_config par défaut 
 Info: la séparation des privilèges est définie sur oui par défaut depuis OpenSSH 3.3. Info: Toutefois, cela nécessite un compte non privilégié appelé 'sshd'. 
 Info: Pour plus d’informations sur la séparation des privilèges, lisez /usr/share/doc/openssh[.____.________.ME.privsep.
* Requête: la séparation des privilèges doit-elle être utilisée? ? (oui/non) oui 
 *** Info: Mise à jour du fichier/etc/sshd_config 
 

*** Info: La configuration de l'hôte est terminée. S'amuser!

Lorsque j'ai lancé 'cygrunsrv -S sshd', une erreur s'est produite. "Win 32 error 1069: le service n'a pas démarré en raison d'un échec de connexion". C'est un message raisonnable, car j'ai supprimé le sshd en tant qu'utilisateur, et la procédure de réinstallation n'a plus rien fait pour cela.

Je vois que quelque chose ne va pas avec la désinstallation.

Q: Comment puis-je désinstaller parfaitement l'élément lié à sshd afin de pouvoir le réinstaller à nouveau?

17
prosseek

J'ai dû faire trois étapes pour le réinstaller.

  • supprimer LOCAL_MACHINE\SYSTEM\ControlSet001\services\sshd
  • exécuter 'sc delete sshd'
  • redémarrer

Le problème est que je ne parviens pas à me connecter au cygwin à partir du Mac, ce qui est la raison exacte pour laquelle j'ai essayé de réinstaller le cygwin.

J'ai fait un autre fil sur ce problème. -> Je ne parviens pas à me connecter à cygwin/ssh sous Mac

4
prosseek

Si sshd a déjà été installé sur le système, la procédure de nettoyage suivante doit être effectuée avant d'appeler ssh-Host-config:

# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd

# Delete any sshd or related users (such as cyg_server) from /etc/passwd
#   (use your favorite editor)

# Delete any sshd or related users (such as cyg_server) from the system
Net User sshd /delete
Net User cyg_server /delete
37
Kentgrav

En regardant ce lien

https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html

la suggestion de quelqu'un à partir du lien ci-dessus semble être une excellente liste de contrôle, exhaustive, sans raccourcis et rapide, et l'IIRC a fonctionné pour moi.

Supprimez tous les fichiers liés à ssh de/etc.
Supprimez/var/empty.
Supprimez les journaux ssh de/var/log.
Supprimez les comptes sshd et cyg_server de votre SAM. Supprimez les deux fichiers de/etc/passwd.
Supprimez le service sshd. Recommencer.

Remarque: où il est dit "recommencer", cela pourrait être une conversation américaine pour redémarrer, dans ce cas, Windows. Lorsqu'il est dit de supprimer un service, vous pouvez avoir besoin ou vouloir arrêter le service avant de le supprimer. Il se peut que vous n’ayez pas besoin d’un redémarrage, bien que vous puissiez le faire. (vous pouvez donc simplement redémarrer si cela ne fonctionne toujours pas). Et où il est indiqué "votre SAM", cela signifie où il stocke les utilisateurs Windows - ils sont affichés dans "Gestion de l'ordinateur" - cygwin ssh y ajoute des utilisateurs, je vois des utilisateurs de cyg_server et sshd, vous pouvez les supprimer à partir de l'interface graphique ou en ligne de commande. Et en arrêtant et en supprimant un service, de nombreuses commandes sont possibles. cygrunsrv, sc, net, et de ceux-là, je n’ai pas vu d’avantage avec Cygrunsrv et this jay guy pense que sc est plus fiable pour les arrêter ou les supprimer, cela peut être le cas. D'autres réponses avez-vous couvert concernant les commandes pour arrêter et supprimer un service.

1
barlop