Jak określić klucz w SSHFS?


69

Mam pytanie, na które nie byłem w stanie znaleźć odpowiedzi. Mam dwa komputery, z których oba uruchamiają system Ubuntu Linux 12.04. Skonfigurowałem swój pierwszy komputer („domowy”), aby móc połączyć się z drugim komputerem („zdalnym”) przy użyciu uwierzytelniania publicznego / prywatnego klucza RSA.

To nie jest pierwsze połączenie SSH, które zostało skonfigurowane przy użyciu uwierzytelniania klucza na moim komputerze domowym, więc mój komputer domowy ma kilka prywatnych plików kluczy id_rsa (z których każdy jest przeznaczony dla innego komputera niż SSH). Tak więc jestem w stanie pomyślnie SSH tylko wtedy, gdy określę plik klucza (w ssh, -iopcja), używając ssh username@ipaddress -i path/to/keyfile/id_rsa.2.

To działa świetnie. Chciałbym jednak również użyć sshfs, który montuje zdalny system plików. Chociaż sshwydaje się, że gra się dobrze z wieloma kluczami, nie mogę znaleźć sposobu sshfsna użycie poprawnego klucza prywatnego („id_rsa.2”).

Czy jest na to sposób sshfs?


Brelok działa dla mnie dobrze w tym scenariuszu ...
jasonwryan

Odpowiedzi:


94

Oto, co działa dla mnie:

sshfs me@x.x.x.x:/remote/path /local/path/ -o IdentityFile=/path/to/key

Możesz to rozwiązać za pomocą man sshfs:

-o SSHOPT = VAL opcje ssh (patrz man ssh_config)

man ssh_config

IdentityFile

Określa plik, z którego odczytywana jest tożsamość uwierzytelnienia DSA, ECDSA lub DSA użytkownika.


1
Dziękuję Ci! @Goldilocks, całkowicie przegapiłem wiersz IdentityFile na sshfsstronie podręcznika . Właśnie tego szukałem. Właśnie wypróbowałem twoje rozwiązanie i działa idealnie. Doceniam pomoc!
JL

1
To polecenie nie działa w systemie macOS Sierra
basZero,

1
IdentityFileuwaga do ścieżki. Jeśli korzystasz sshfsz sudo, użycie ~w IdentityFileścieżce odnosi się do katalogu głównego roota, który może nie znajdować się w pliku RSA. /Users/<username>/.sshZamiast tego użyj czegoś takiego .
Aaron,

19

Musisz określić, którego klucza prywatnego użyć w ~/.ssh/configpliku. na przykład:

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa

Dzięki wielkie! @Steven You, nie zdawałem sobie sprawy z tego, że sshfsczyta pliki .ssh / config (choć teraz widzę, że przegapiłem podobną odpowiedź z czyjegoś postu, na stackoverflow.com/a/13638806/1940466 ). To wspaniale wiedzieć. Za to, co jest warte, chciałbym zaakceptować zarówno twoje, jak i @goldilocks odpowiedzi, ale nie jestem w stanie. Nie mam też wystarczającej reputacji, aby zagłosować na twoją odpowiedź. Jednak bardzo doceniam odpowiedź!
JL

3
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path

dzięki, że ta odpowiedź działała dla mnie na Arch Linux dla montowania systemu plików Androida
Edward Torvalds
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.