Comment spécifier la clé dans SSHFS?

70

J'ai une question pour laquelle je n'ai pas trouvé de réponse. J'ai deux ordinateurs, tous deux sous Ubuntu Linux 12.04. J'ai configuré mon premier ordinateur ("home") pour qu'il soit capable de SSH dans mon deuxième ordinateur ("distant") en utilisant l'authentification par clé publique / privée RSA.

Ce n'est pas la première connexion SSH établie avec l'authentification par clé sur mon ordinateur personnel. Mon ordinateur personnel contient donc plusieurs fichiers de clés privées id_rsa (chacun d'entre eux correspondant à un ordinateur différent de SSH). Ainsi, je ne peux réussir à SSH que lorsque je spécifie un fichier de clé (dans sshl' -ioption), en utilisant ssh username@ipaddress -i path/to/keyfile/id_rsa.2.

Cela fonctionne très bien. Cependant, je voudrais aussi utiliser sshfs, qui monte le système de fichiers distant. Bien que cela sshsemble bien fonctionner avec plusieurs clés, je ne trouve pas le moyen sshfsd’utiliser la clé privée correcte ("id_rsa.2").

Y a-t-il un moyen sshfsde faire cela?

JL
la source
Le trousseau fonctionne bien pour moi dans ce scénario ...
jasonwryan

Réponses:

94

Voici ce qui fonctionne pour moi:

sshfs [email protected]:/remote/path /local/path/ -o IdentityFile=/path/to/key

Vous pouvez comprendre cela via man sshfs:

-o SSHOPT = options VAL ssh (voir man ssh_config)

man ssh_config

IdentityFile

Spécifie un fichier à partir duquel l'identité d'authentification du DSA, ECDSA ou DSA de l'utilisateur est lue.

boucle d'or
la source
1
Je vous remercie! @ goldilocks, j'ai complètement raté la ligne IdentityFile dans la sshfspage de manuel. C'est exactement ce que je cherchais aussi. Je viens d'essayer votre solution et cela fonctionne parfaitement. J'apprécie l'aide!
JL
1
Cette commande ne fonctionne pas sur macOS Sierra
basZero
1
IdentityFilenote de chemin. Si vous exécutez sshfsavec sudo, utilisez ~dans le IdentityFilechemin correspond à la racine de la racine, qui peut ne pas être à la place du fichier RSA. Utilisez quelque chose comme à la /Users/<username>/.sshplace.
Aaron
20

Ce que vous devez faire est de spécifier quelle clé privée utiliser dans le ~/.ssh/configfichier. par exemple:

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa
Steven You
la source
1
Merci beaucoup! @ Steven You, je ne savais pas que les sshfsfichiers .ssh / config étaient lus (bien que je sache maintenant que j'ai raté une réponse similaire du message précédent de quelqu'un, sur stackoverflow.com/a/13638806/1940466 ). C'est excellent à savoir. Pour ce que cela vaut, je voudrais accepter vos réponses et celles de @goldilocks, mais je ne suis pas en mesure de le faire. De plus, je n'ai pas assez de réputation pour voter votre réponse. J'apprécie beaucoup la réponse, cependant!
JL
3
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path
utilisateur278801
la source
merci cette réponse a fonctionné pour moi sur Arch Linux pour le montage du système de fichiers Android
Edward Torvalds le