Aşkın Yollu - Ssh File System ile uzak dizini yerele bağlamak


Lisans

Bu yazının bazı hakları Creative Commons Attribution-Share Alike1 ile lisanslanarak koruma altına alınmıştır. Bu yazıyı kaynak göstererek ve aynı, benzer veya bu şartları sağlayan bir lisansla dağıtmak sartı ile istediğiniz şekilde kullanabilirsiniz.


Lisans
Giriş
Gerekli yazılımlar
Kurulum
Kullanımı
Mount - Bağlama
Parametreler
Umount - Bağı koparma
/etc/fstab dosyasını kullanarak bağlama
Kaynaklar

Giriş

Herhangi bir sebepten dolayı linux yüklü bir bilgisayarın dizinini kendi bilgisayarınızda, kendi dizininizmiş gibi kullanmak istiyorsanız sshfs - SSH dosya sistemi imdadımıza yetişiyor. İsmindende belli olduğu gibi ssh protokolünü kullanarak dosya transeri yapıyoruz. Bunu birçok alanda kullanabilirsiniz, örneğin ben dosya sunucusu olarak kullandığım ve torrent ile dosya indirdiğim bilgisayara bağlanmak için bu yolu kullanıyorum. Sistemin /media dizinini sshfs ile kendi bilgisayarıma bağladım, bir dosyaya ihtiyacım olduğunda sanki kendi bilgisayarımdaymış gibi hızlıca ulaşarak kullanıyorum. Cacheleme özelliğide bulunduğu için neredeyse hiç performans sorunu yaşamıyorum.

Gerekli yazılımlar

Kurulum

sudo apt-get install sshfs
sudo pisi it sshfs

Kullanımı

Mount - Bağlama

Öncelikle bir mount point yani bağlama noktası oluşturalım.

sudo mkdir /media/PIS-ii
Benim bağlanacağım bilgisayarın adı PIS-ii olduğu için bağlama noktasını öyle oluşturdum.

Şimdi sistemi dizini bağlayalım.

sudo sshfs kelebek@192.168.3.100:/home/kelebek /media/PIS-ii
Bu komutu verdikten sonra 192.168.3.100 ip numarasına sahip bilgisayardaki /home/kelebek dizini, kendi bilgisayarımızın /media/PIS-ii dizinine bağlanmış oldu. Şuan kelebek adlı kullanıcının /home/kelebek adlı dizinde sahip olduğu tüm yetkilere bizde /media/PIS-ii dizininde sahibiz.

Bir taslak oluşturursak

sudo sshfs [kullanici-adi]@[makina]:[dizin] [baglama-noktasi]

Bu şekilde bağlarsak sadece root yetkilerine sahip kullanıcılar dizine ulaşabilir. Bu sorunu aşmak için allow_other parametresini kullanıyoruz.

sudo sshfs -o allow_others [kullanici-adi]@[makina]:[dizin] [baglama-noktasi]

Parametreleri vermeden önce başına -o koyuyoruz.

Parametreler

-o idmap=user
-o uid=<uid>
-o gid=<gid>
-o ro //read only - salt okunur mod

Umount - Bağı koparma

umount bağlamanoktası
yada
fusermount -u bağlamanoktası

/etc/fstab dosyasını kullanarak bağlama

/etc/fstab dosyasına

sshfs#USERNAME@REMOTE_HOST:REMOTE_PATH MOUNT_POINT fuse SSHFS_OPTIONS 0 0
şeklinde bir satır ekliyoruz.

Örnek:

sshfs#kelebek@192.168.3.100:/home/kelebek /media/PIS-ii fuse SSHFS_OPTIONS 0 0

Ben kullanırken komut satırından mount etmeyi tercih ediyorum. Her seferinde kodları tek tek girmektense .bashrc dosyasının içine alias tanımlıyarak tek komutla işi hallediyorum. .bashrc dosyasının içine

alias mount-pis-ii="sudo sshfs -o allow_other kelebek@192.168.3.100:/home/kelebek /media/PIS-ii"
satırnı ekliyoruz. Bundan sonra mount-pis-ii komutunu verince önce sizden kullanıcı şifrenizi, sonrada diğer makinanın şifresini isteyecek, şifreleri girdiğinizde artık o dosya sizin bilgisayarınızda olacak.

Sshfs programını dağa farklı ve daha esnek olarak kullanmak mümkün, bunlar için proje sayfası2na ve wiki3sine bakabilirsiniz.

Kaynaklar

1. http://creativecommons.org/licenses/by-sa/3.0/

2. Proje sayfası: http://fuse.sourceforge.net/sshfs.html

3. Wiki: http://fuse.sourceforge.net/sshfs.html


Valid XHTML 1.0 Strict Valid CSS! made with emacs Attribution-Share Alike 3.0