sshfs, / etc / fstab yapılandırmasına rağmen, önyüklemede otomatik olarak bağlanmıyor


24

Bazı Ubuntu (13.04) iş istasyonlarını kurarken, uzak bir dosya sistemine (ssh üzerinden) bağlanmaya çalışıyorum.

Geçerli yapılandırma

  • Ben kullanıcının oluşturduğu someuser ve bunu katma sigorta grubunun

  • Benim fstab giriş gibi okur:

    sshfs#someuser@remote.com:/remote_dir  /media/remote_dir/   fuse    auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect     0       0
    

anladığım kadarıyla :

  • auto : açıkça önyüklemede uzaktan fs monte edilmesini istiyor
  • _netdev : montaj yapmayı denemeden önce arayüzün yukarı çıkmasını bekleyin
  • kullanıcı : herhangi bir kullanıcının bu belirli uzak konumun monte edilmesini istemesine izin ver (önyüklemede otomatik olarak onu bağlayan kök kullanıcı perspektifinde işe yaramaz)
  • allow_other : herhangi bir kullanıcının (sigorta grubundaki?) takılı fs'ye erişmesine izin verir
  • IdentityFile : uzak makinenin /home/someuser/.ssh/authorized_key anahtarına eklenen genel anahtarla eşleştirilen özel anahtara işaret eder .
  • reconnect : Emin değilim ... Bağlantı kesilirse yeniden bağlanmayı dener mi?

Sorun

  • Çizme, ben ile giriş someuser bir terminal yukarı, ateş ve / medya / remote_dir boştur.

  • Ancak aynı kullanıcıdan (veya kökten), sadece şunu yazarak bağlayabilirim:

    mount sshfs#someuser@remote.com:/remote_dir
    

    Ayrıca bir dosya tarayıcısında remote_dir üzerine tıklarsam otomatik olarak monte edilir .

Neyin eksik olabileceğine dair herhangi bir ipucu var mı?


Hiç bunu çözdün mü? Ubuntu 14.04 64-bit bir makinede aynı sorunu yaşıyorum.
glibdud

Bu sorunun popülaritesini görünce, cevap sayısına kıyasla, fstab yaklaşımından vazgeçtim. Mermiyi ısırmaya ve büyük resim sorununu ele alarak Automount'un nasıl kullanılacağını öğrenmeye karar verdim. Tecrübelerime göre "doğru seçim" oldu. Ubuntu wiki'de Automount'a iyi bir giriş bulunabilir .
Reklam N

Yanıtlar:


18

Oneiric'ten (automount'un iyi çalıştığı) Precise'a yükselttikten sonra da aynı sorunu yaşadım.

Benim için sorunu çözen, delay_connect seçeneğini eklemekti . Ayrıca, Oneiric zamanlarından beri daha önce "geçici çözüm = yeniden adlandır" seçeneğini kullanıyorum. Bugün hala ihtiyaç duyulup duyulmadığından emin değilim, ama en azından acıtıyor gibi görünmüyor.

Dolu / etc / fstab satırım:

sshfs#user@host:/remote/dir /local/dir fuse delay_connect,idmap=user,uid=1000,gid=1000,umask=0,allow_other,_netdev,workaround=rename 0 0

Açıkçası, kullanıcı / grup kimliklerini kendi ortamınıza uyarlamanız gerekir.


1
Geçici çözüm olmadan benim için çalıştı = daha önce çalışmadığı yeri yeniden adlandırın. Bu yüzden benim tek değişiklik, kesinlikle burada yardımcı olan delay_connect seçeneğini eklemek oldu! Bunun için teşekkür ederim. Sadece _netdev'in neden burada yetmediğini merak ediyorum ...
Nicolas

1
Bu da benim için mükemmel çalışıyor. @ Nicolas, _netdevkonunun Tony'nin cevabında açıklandığına inanıyorum . Ağ çalışıyor olabilir, ancak ana bilgisayarı hala çözemez. Açıkçası, bir IP adresi kullanmak bunu çözer, fakat fstab'ında IP adresi isteyen var mı?
Auspex

Ne pahasına olursa olsun, bir şekilde bunu atomun içine yapıştırdığımda, onu kıran görünmez karakterleri aldı. Bunları çıkarmak zorunda kaldım
Jonathan

4
Tamam olur ama sonra alıyorum: ls / backup: Giriş / çıkış hatası
Jonathan

'Delay_connect, workaround = rename' eklenmesi benim için Arch Linux'ta çalıştı. Teşekkürler!
aSystemOverload

1

Ayrıca önceki tüm yorumları tamamlamak için,

  1. Kök olmayan kullanıcıların allow_othermount seçeneğini belirlemek için izin verdiğinizden emin olun ./etc/fuse.conf

  2. Ana bilgisayar imzasının ~/.ssh/known_hostsdosyaya eklenmesi için her sshfs mount komutunu en az bir defa manüel olarak kullandığınızdan emin olun .

    sshfs [user]@[host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]
    

Allow_other mount seçeneği , Linux çekirdeğindeki çözülmemiş bir güvenlik hatası ortaya çıkarır : default_permissions mount seçeneği allow_other ile birlikte kullanılmazsa, dosya sistemi tarafından bir dizin girişi için gerçekleştirilen ilk izin denetiminin sonuçları sonraki erişimlerde yeniden kullanılacaktır. erişilen girişin düğümü çekirdek önbelleğinde bulunduğu sürece - izinler o zamandan beri değişmiş olsa bile ve sonraki erişim farklı bir kullanıcı tarafından yapılmış olsa bile.
Monica Cellio için MountainX,

0

Aynı problem vardı, bence otomatik olmaman için otomatik olmalısın. açılışta monte etmemeli, eth hazır olduğunda monte etmeli


6
Sanırım "sadece ağa hazır olduğunda bağla" kullanımının istenmesi _netdevve noautobununla değiştirilmesinin açılışta bağlanmasını sağlayamayacağına (sadece mount komutunu kullanırken açık şekilde) izin vereceğini düşünüyorum
Ad N

0

Yetkili bir DNS sunucusuna /etc/fstabbağlayacaksanız ve uzak SFTP sunucunuzun ana bilgisayar adı bu DNS sunucusu tarafından sağlanmışsa, ana bilgisayar adı henüz çözülemediğinden kesinlikle bağlanamazsınız. Ya da DNS sunucusu bağlanmaya çalışırken çalışıyor olmalı ya da uzak sunucunuzun IP adresini almak için alternatif bir yöntem bulmalısınız.

Bu durumda, aşağıdaki çözümlerden birini seçebilirsiniz:

  • delay_connectÖnyükleme sırasının devam etmesine izin verecek ve önyükleme sırasının bağlanacağı DNS sunucusunu başlattıktan sonra seçeneği ekleyin .
  • Uzak SFTP sunucunuzun ana bilgisayar adını /etc/hosts, uygun IP adresine sahip yerel dosyanıza ekleyin .
  • Uzak SFTP sunucunuzun IP adresini fstabana bilgisayar adı yerine kullanın.

delay_connectSeçeneği genişletebilir misiniz ? Neye eklendi? Bununla ilgili daha fazla bilgi eklemek için sorunuzu düzenleyin.
AJefferiss

Fstab seçenek listesine eklersiniz: sshfs # user @ host: / remote / mnt / yerel sigorta gecikme_arası, uid = 1000, gid = 100, umask = 0, allow_other 0 0
Tony
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.