Je travaille avec libcurl en tant que SFTP et c’est génial. Je souhaite vérifier si l'hôte est sur le point de se connecter s'il existe dans le fichier hosts. Sous Linux, je peux facilement trouver un fichier hosts connu, car il se trouve presque toujours dans ~/.ssh/known_hosts
. Je voulais savoir si Windows maintient la même chose ou s'il n'existe aucune norme quant à l'emplacement de ce fichier dans Windows.
Le ~/.ssh/known_hosts
est un chemin * nix utilisé par OpenSSH. Le ~
est résolu dans le répertoire de base du compte, spécifié dans le fichier /etc/passwd
. Le dossier par défaut est le dossier /home/username
.
OpenSSH est un logiciel Linux. Il ne fonctionne pas sous Windows seul.
Bien qu'il puisse fonctionner sur l'émulation * nix sous Windows, il existe également des clones Windows d'OpenSSH. En fin de compte, votre question porte sur l'émulation ou le clone que vous exécutez sur le serveur Windows et sur la manière dont cela mappe/implémente de nouveau l'accès à ~/.ssh/known_hosts
.
Win32-OpenSSH (clone Windows d’OpenSSH de Microsoft): il se place dans le dossier du profil de votre compte Windows. C'est à dire. typiquement à C:\Users\username\.ssh
.
Voir aussi mon guide pour Configuration de l'authentification par clé publique SSH sur Win32-OpenSSH .
Émulateur Cygwin : Sur mes installations, tous les chemins ressemblant à * nix sont réellement stockés dans C:\cygwin64
(C:\cygwin
sur 32 bits).
Donc, le /home/username/.ssh/known_hosts
est dans C:\cygwin64\home\martin\.ssh\known_hosts
.
Regardez dans ~\Users\~\AppData\Roaming\_ssh\known_hosts
.
Voir aussi: http://comments.gmane.org/gmane.comp.web.curl.general/12593