Bagaimana cara me-mount menggunakan sshfs?

14

Saya menggunakan perintah berikut untuk memasang direktori ssh ubuntu ke pc ubuntu saya.

sshfs [email protected]:/dir/dir /home/username/mount/xxx

Pertanyaan saya adalah, dapatkah saya membuat skrip untuk ini di desktop saya di mana saya dapat membuat klik dua kali dan menjalankan skrip ini kapan saja saya perlu me-mount drive tanpa mengetik perintah secara manual selalu.

Burung biru
sumber

Jawaban:

15

Anda dapat membuat peluncur dan menambahkannya ke bilah peluncur dengan menyeret & menjatuhkan file .desktop-file di sana:

    #!/usr/bin/env xdg-open

    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_US]=nautilus
    Name[en_US]=Connect to xy
    Exec=shfs [email protected]:/dir/dir /home/username/mount/xxx
    #OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
    #Exec=nautilus sftp://[email protected]/dir/dir
    Comment[en_US]=Connect to xy via ssh
    Name=Connect to xy
    Comment=Connect to xy via ssh
    Icon=nautilus

Saran - bahkan lebih sedikit pekerjaan:

Jika Anda ingin lebih sedikit bekerja (= autoconnect) dan antarmuka pengguna grafis, Anda mungkin ingin memeriksa Gigolo Instal gigolo . Ini memiliki kemampuan untuk memasang bookmark secara otomatis, setiap kali sistem file yang ditandai ada. Anda mungkin ingin memeriksanya.

sudo apt-get install gigolo   # or use the install link above

Lari gigolo. Ada opsi dalam preferensi yang memasukkannya ke dalam autostart dan lainnya untuk mengaktifkan ikon baki. Periksa keduanya. Kemudian tambahkan bookmark Anda.

Ini screenshotnya:

masukkan deskripsi gambar di sini

Cara shell

Solusi lain adalah dengan meletakkan baris berikut di crontab Anda (sunting /etc/crontabdengan hak istimewa sudo):

@reboot sshfs [email protected]:/dir/dir /home/username/mount/xxx

Tetapi karena manajer kata sandi Ubuntu tidak hadir ketika perintah dijalankan, Anda perlu menggunakan pasangan kunci privat / publik tanpa kata sandi untuk mengautentikasi dengan server ssh yang bersangkutan (atau metode otentikasi serupa). Ini akan dipasang di setiap reboot.

Namun solusi lain adalah mengedit Anda /etc/fstab(menyediakan Versi Ubuntu Anda menyediakan opsi itu).

membingungkan
sumber
1
Saya tidak bisa menggunakan gigolo. Karena saya ingin menggunakan titik pemasangan tertentu dalam folder rumah saya. Solusi pertama Anda sepertinya bagus. Tapi saya tidak jelas tentang penamaan file. ANDA telah memberikan ".desktop-file" Apakah itu nama file atau ekstensi. Tolong beri saya lebih banyak contoh pada penamaan file. Maka saya bisa mencobanya.
BlueBird
Itu ekstensi. Semua peluncur di ubuntu diakhiri dengan ".desktop". Buat file kosong. Salin teks yang saya posting di atas ke dalamnya. Ganti teks di belakang "Name =" dengan apa pun yang cocok untuk Anda dan gantikan jalur nyata dalam teks di belakang "Exec =". Kemudian Simpan sebagai "connect.desktop" atau "mountxy.desktop" (misalnya). Setelah Anda menyimpan file Tarik & Jatuhkan ke panel peluncur Anda atau di mana pun Anda inginkan.
con-f-use
Bagus!! Itu berhasil.
BlueBird
8
OMG ... nama terburuk yang pernah ada untuk sebuah program.
Lekensteyn
Tampaknya tidak ada opsi untuk menambahkan gigolo ke autostart lagi, jadi Anda harus melakukannya sendiri. Jalankan gnome-session-propertiesdan tambahkan /usr/bin/gigoloperintah. Tidak mungkin untuk memilih titik mount, tetapi Anda dapat membuat tautan simbolik ke direktori home Anda (dengan ln -s). Anda dapat menemukan titik pemasangan asli dengan mengklik kanan folder di dalam pengatur file dan memilih Open in Local Terminal.
Seppo Enarvi
4

Utas forum ini menunjukkan metode membuat SSHFS penghitungan otomatis yang menurut saya persis apa yang ingin Anda lakukan.

lbrown
sumber
Utasnya sudah cukup lama dan untuk menambahkan mount dependen jaringan sekarang kita dapat menggunakan x-systemddan _netdevopsi.
Turgon
3

Anda cukup mengetik ini ke skrip shell, dan Anda dapat membuat peluncur untuk itu di desktop.

Sebagai contoh mountssh.sh:

#!/bin/bash
shfs [email protected]:/dir/dir /home/username/mount/xxx

pastikan untuk chmod +x mountssh.shdan kemudian mengkliknya akan dijalankan

Atau, Anda dapat me-mount melalui gvfs, dengan mengklik kanan pada desktop, dan menciptakan sebuah peluncur dengan URL parameter: ssh://[email protected]/dir/dir. Secara default mount ke ~/.gvfs/.... Jika Anda ingin tetap menggunakan /home/username/mount/xxx, Anda dapat membuat symlink dari gvfs yang satu ini.

Iradrian
sumber
Saya membuat file "mount-192.168.1.5.sh" di desktop saya. Ketika saya klik dua kali, itu dibuka dengan gedit.
BlueBird
Anda harus membuat file sh ini dengan hak istimewa yang dapat dieksekusi di mana saja, dan membuat peluncur di desktop Anda, yang mengarah ke file .sh ini.
Iradrian
2

Anda bahkan dapat mengambilnya selangkah lebih maju dan memiliki autof mengurus pemasangan untuk Anda. Karena autof tidak berfungsi dengan baik dengan otentikasi kunci publik SSH (kecuali jika Anda ingin membuat pasangan kunci tanpa kata sandi untuk superuser ), ada alat yang memungkinkan Anda untuk menggunakan kunci SSH, ssh-agent dan gantungan kunci pengguna:

  • autosshfs : per pengguna SSHFS automount menggunakan konfigurasi SSH pengguna
  • afuse : automounter diimplementasikan dengan FUSE
kynan
sumber
0

Saya memasang folder dengan cara yang sama persis, apa yang saya lakukan adalah membuat peluncur khusus yang menunjuk ke .shfile yang berisi perintah. Pastikan file tersebut memiliki izin eksekusi dan Anda dapat melakukannya.

Saya cukup mengklik peluncur:

masukkan deskripsi gambar di sini

amosrivera
sumber
0

Saya mencoba menggunakan cron untuk secara otomatis me-mount direktori ssh, tetapi hal itu menyebabkan kesalahan Network is unreachable. Itu karena eksekusi pekerjaan cron terlalu dini untuk membangun koneksi ip. Setelah saya memasukkan sleep sebelum sshfsperintah, itu berhasil me-mount direktori ssh.

sleep 5 && sshfs ......

Jadi saya membuat skrip ini untuk memenuhi kebutuhan saya.

#! /bin/sh
while true
do 
    ping -c1 -w1 ssh_server_ip > /dev/null && break
done
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 sshname:/mountpath /localmountpath
fx-kirin
sumber