Як вказати ключ у SSHFS?


69

У мене виникло питання, на яке я не змогла знайти відповідь. У мене є два комп’ютери, на обох з яких працює Ubuntu Linux 12.04. Я встановив свій перший комп'ютер ("домашній"), щоб мати змогу SSH на свій другий комп'ютер ("віддалений"), використовуючи аутентифікацію ключів публічного / приватного RSA.

Це не перший з’єднання SSH, яке встановлено за допомогою аутентифікації ключів на моєму домашньому комп’ютері, тому мій домашній комп'ютер має кілька приватних ключових файлів id_rsa (кожен з яких призначений для іншого комп'ютера для SSH). Таким чином, я можу успішно SSH тільки тоді , коли я вказати файл_ключа (в ssh, то -iопція), використовуючи ssh username@ipaddress -i path/to/keyfile/id_rsa.2.

Це чудово працює. Однак я також хотів би використовувати sshfs, який монтує віддалену файлову систему. Хоча, sshздається, грає добре з декількома клавішами, я не можу знайти спосіб sshfsвикористовувати правильний приватний ключ ("id_rsa.2").

Чи є спосіб sshfsзробити це?


Брелок добре працює для мене в цьому сценарії ...
jasonwryan

Відповіді:


94

Ось що для мене працює:

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

Зробити це можна за допомогою man sshfs:

-o SSHOPT = VAL ssh параметри (див. man ssh_config)

man ssh_config

IdentityFile

Вказує файл, з якого зчитується ідентифікація користувача DSA, ECDSA або DSA.


1
Дякую! @goldilocks, я повністю пропустив рядок IdentityFile на sshfsсторінці man. Саме це я і шукав. Я щойно спробував ваше рішення, і воно працює чудово. Я ціную допомогу!
JL

1
Ця команда не працює на macOS Sierra
basZero

1
IdentityFileконспект шляху. Якщо ви працюєте sshfsз sudo, використання ~в IdentityFileшляху посилається на домашню root, яка може бути не там, де знаходиться файл RSA. Використовуйте /Users/<username>/.sshзамість цього щось подібне .
Аарон

19

Що потрібно зробити, це вказати, який приватний ключ використовувати у ~/.ssh/configфайлі. наприклад:

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

Дуже дякую! @Steven Ви не розуміли, що sshfsчитає .ssh / config файли (хоча зараз я бачу, що я пропустив аналогічну відповідь з попереднього чийогось повідомлення, на stackoverflow.com/a/13638806/1940466 ). Це чудово знати. Я б хотів прийняти і ваші відповіді, і відповіді @goldilocks, але я не в змозі. У мене також недостатньо репутації, щоб проголосувати вашу відповідь. Я дуже ціную відповідь, хоча!
JL

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

дякую, що ця відповідь працювала на Arch Linux для монтажу файлової системи Android
Едвард Торвальдс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.