Pracuję z libcurl jako SFTP i jego wielki. Chcę sprawdzić, czy host ma się połączyć, jeśli istnieje w pliku hosts. W Linuksie mogę łatwo znaleźć znany plik hosts, ponieważ prawie zawsze jest w ~/.ssh/known_hosts
. Chciałem wiedzieć, czy system Windows utrzymuje to samo, czy też nie ma standardu dotyczącego tego, gdzie taki plik znajduje się w systemie Windows.Czy istnieje określona ścieżka dla znanych hostów w systemie Windows?
Odpowiedz
Spójrz w ~\Users\~\AppData\Roaming\_ssh\known_hosts
.
Zobacz także: http://comments.gmane.org/gmane.comp.web.curl.general/12593
Nie mogę znaleźć tego w moim komputerze (Windows 10) –
Włącz "pokaż ukryte pliki". Prawdopodobnie jest ukryty folder przed AppData. 'Ustawienia lokalne' lub podobne. Jeśli nie ma pliku 'known_hosts' lub' _ssh' w 'AppData \ Roaming', możesz go utworzyć. – i486
Więc to jest standardowa ścieżka? –
~/.ssh/known_hosts
jest ścieżka * nix wykorzystywane przez OpenSSH. Numer ~
został rozwiązany w katalogu macierzystym konta, który jest określony w pliku /etc/passwd
. Domyślny katalog to /home/username
.
OpenSSH nie działa na Windows. Choć może działać na emulacji * nix w systemie Windows. Zazwyczaj emulatorem jest Cygwin.
Tak więc pytanie brzmi, w jaki sposób Cygwin mapuje ścieżkę * nic /home/username
na system plików Windows. W moich instalacjach wszystkie ścieżki * nix-podobne są w rzeczywistości przechowywane w 32-bitowym kodzie C:\cygwin64
(C:\cygwin
).
Więc /home/username/.ssh/known_hosts
jest w C:\cygwin64\home\martin\.ssh\known_hosts
.
Więc system Windows nie obsługuje protokołu SSH? Jeśli ma miejsce, gdzie umieszcza plik? To jest moje pytanie. Przepraszam, jeśli cię wprowadziłem w błąd! –
Nie, domyślnie nie ma serwera SSH w systemie Windows. –
Ale zrozumiałem, że łączysz ** z ** Windowsa, a nie ** z ** Windowsiem, prawda? –
System Windows nie zawiera klienta SSH ani serwera SSH. Więc nie, nie ma też standardu. –