Bagaimana cara menentukan kunci dalam SSHFS?

70

Saya punya pertanyaan yang belum dapat saya temukan jawabannya. Saya memiliki dua komputer, keduanya menjalankan Ubuntu Linux 12.04. Saya telah mengatur komputer pertama saya ("rumah") untuk dapat SSH ke komputer kedua saya ("jarak jauh") menggunakan otentikasi kunci RSA publik / swasta.

Ini bukan koneksi SSH pertama yang telah diatur menggunakan otentikasi kunci pada komputer di rumah saya, sehingga komputer di rumah saya memiliki beberapa id_rsa private keyfiles (masing-masing untuk komputer yang berbeda dengan SSH). Dengan demikian, saya dapat berhasil SSH hanya ketika saya menentukan keyfile (dalam ssh, -iopsi), menggunakan ssh username@ipaddress -i path/to/keyfile/id_rsa.2.

Itu bagus sekali. Namun, saya juga ingin menggunakan sshfs, yang me-mount sistem file jarak jauh. Meskipun sshtampaknya bermain bagus dengan beberapa kunci, saya tidak dapat menemukan cara sshfsuntuk menggunakan kunci pribadi yang benar ("id_rsa.2").

Apakah ada cara sshfsuntuk melakukan ini?

JL
sumber
Gantungan kunci berfungsi baik untuk saya dalam skenario ini ...
jasonwryan

Jawaban:

94

Inilah yang bekerja untuk saya:

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

Anda dapat mengetahuinya melalui man sshfs:

-o SSHOPT = VAL opsi ssh (lihat man ssh_config)

man ssh_config

IdentityFile

Menentukan file dari mana DSA, ECDSA atau identitas autentikasi DSA pengguna dibaca.

goldilocks
sumber
1
Terima kasih! @goldilocks, saya benar-benar kehilangan garis IdentityFile di sshfshalaman manual. Itulah tepatnya yang saya cari, juga. Saya baru saja mencoba solusi Anda, dan itu berfungsi dengan baik. Saya menghargai bantuannya!
JL
1
Perintah ini tidak berfungsi pada macOS Sierra
basZero
1
IdentityFilecatatan jalan. Jika berjalan sshfsdengan sudo, menggunakan ~di IdentityFilejalan merujuk ke rumah root, yang mungkin bukan tempat file RSA. Gunakan sesuatu seperti /Users/<username>/.sshsebagai gantinya.
Aaron
20

Yang perlu Anda lakukan adalah menentukan kunci pribadi mana yang akan digunakan dalam ~/.ssh/configfile. sebagai contoh:

Host server1.nixcraft.com
    IdentityFile ~/backups/.ssh/id_dsa
Host server2.nixcraft.com
    IdentityFile /backup/home/userName/.ssh/id_rsa
Steven You
sumber
1
Terima kasih banyak! @Steven You, saya tidak menyadari bahwa sshfsmembaca file .ssh / config (meskipun saya melihat sekarang bahwa saya melewatkan jawaban yang sama dari posting seseorang sebelumnya, di stackoverflow.com/a/13638806/1940466 ). Itu bagus untuk diketahui. Untuk apa nilainya, saya ingin menerima jawaban Anda dan @goldilocks, tapi saya tidak bisa. Saya juga tidak memiliki reputasi yang cukup untuk memilih jawaban Anda. Saya sangat menghargai jawabannya!
JL
3
sshfs -o ssh_command='ssh -i path/to/keyfile/id_rsa.2' username@ipaddress:/path /local/path
pengguna278801
sumber
terima kasih jawaban ini bekerja untuk saya di Arch Linux untuk memasang sistem file android
Edward Torvalds