2015-10-05 22 views
5

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?

+1

System Windows nie zawiera klienta SSH ani serwera SSH. Więc nie, nie ma też standardu. –

Odpowiedz

1

Spójrz w ~\Users\~\AppData\Roaming\_ssh\known_hosts.

Zobacz także: http://comments.gmane.org/gmane.comp.web.curl.general/12593

+0

Nie mogę znaleźć tego w moim komputerze (Windows 10) –

+0

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

+0

Więc to jest standardowa ścieżka? –

1

~/.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.

+0

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! –

+0

Nie, domyślnie nie ma serwera SSH w systemie Windows. –

+0

Ale zrozumiałem, że łączysz ** z ** Windowsa, a nie ** z ** Windowsiem, prawda? –