sshfs
sshfs (SSH File System), FUSE (Filesystem in Userspace) kullanarak uzak bir sunucudaki bir dizini yerel makinenizdeki bir dizin gibi bağlamanıza (mount) olanak tanıyan bir araçtır. Tüm dosya transferi SSH protokolü üzerinden güvenli bir şekilde yapılır. Bu sayede uzak dosyalara yerel uygulamalarınızla (dosya yöneticisi, metin düzenleyici vb.) doğrudan erişebilirsiniz.
Kurulum:sshfs genellikle sistemlerde önyüklü gelmez. Paket yöneticinizle kurmanız gerekir:
# Debian/Ubuntu
sudo apt install sshfs
# RHEL/CentOS/Fedora
sudo dnf install fuse-sshfs
# Arch Linux
sudo pacman -S sshfsAyrıca, kullanıcınızın FUSE dosya sistemlerini bağlayabilmesi için genellikle fuse grubuna üye olması gerekebilir (sudo usermod -aG fuse $USER komutu sonrası yeniden giriş yapmanız gerekebilir) veya /etc/fuse.conf dosyasında user_allow_other seçeneğinin aktif edilmesi gerekebilir.
Uzak Dosya Sistemini Bağlama (Mount)
Yerel Bağlama Noktası Oluşturma: Uzak dizini bağlamak için yerel sisteminizde boş bir dizin oluşturun:
mkdir ~/uzak-sunucusshfsKomutu ile Bağlama:# Temel kullanım: sshfs [kullanici@]sunucu:[uzak_dizin] /yerel/baglama/noktasi sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucuroot@sunucu-ip: Uzak sunucudaki kullanıcı adı ve sunucu adresi/IP'si.:/remote/dizin: Uzak sunucuda bağlanılacak dizin (boş bırakılırsa kullanıcının ev dizini).~/uzak-sunucu: Yerel makinede oluşturulan bağlama noktası.
Seçenekler:
Port Belirtme:
-pseçeneği yerine-o port=PORT_NOkullanılır:sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o port=2222Anahtar Kullanma:
-o IdentityFile=ANAHTAR_YOLUkullanılır:sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o IdentityFile=~/.ssh/id_ed25519Diğer Kullanıcıların Erişimi: Varsayılan olarak sadece bağlayan kullanıcı erişebilir. Diğer kullanıcıların da erişmesi için
allow_otherseçeneği kullanılır (genellikle/etc/fuse.confiçindeuser_allow_otherayarı da gerekir):sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o allow_otherBağlantı Kopmalarına Karşı: Bağlantı koptuğunda otomatik yeniden bağlanmayı denemek için:
sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o reconnect
Artık
~/uzak-sunucudizini altında yapacağınız dosya işlemleri (listeleme, okuma, yazma vb.) SSH üzerinden uzak sunucuda gerçekleşecektir.
Otomatik Bağlama (/etc/fstab)
/etc/fstab)sshfs bağlantısının sistem başlangıcında otomatik olarak yapılmasını sağlamak için /etc/fstab dosyasına bir satır eklenebilir. Ancak bu yöntem, ağ bağlantısı hazır olmadan veya uzak sunucuya ulaşılamadığında sistem başlangıcının yavaşlamasına veya takılmasına neden olabilir. Dikkatli kullanılmalıdır.
Örnek /etc/fstab satırı:
# Kullanıcı 'kullanici_adi' olarak bağlanacak, anahtar kullanılacak, ağ beklenilecek
kullanici_adi@sunucu-ip:/uzak/dizin /yerel/baglama/noktasi fuse.sshfs defaults,_netdev,user,identityfile=/home/kullanici_adi/.ssh/id_ed25519,allow_other,reconnect 0 0kullanici_adi@sunucu-ip:/uzak/dizin: Uzak kaynak./yerel/baglama/noktasi: Yerel bağlama noktası.fuse.sshfs: Dosya sistemi türü.defaults: Standart bağlama seçenekleri._netdev: Bu bir ağ aygıtıdır, ağ hazır olana kadar bağlama işlemini geciktirir.user: Normal kullanıcıların bağlamasına/ayırmasına izin verir (genellikleallow_otherile birlikte kullanılırsa anlamlıdır veya bağlama noktasının sahibi ilgili kullanıcı olmalıdır).identityfile=...: Kullanılacak özel anahtar dosyasının tam yolu.allow_other: Diğer kullanıcıların da erişimine izin verir (güvenlik etkilerini göz önünde bulundurun).reconnect: Bağlantı koparsa yeniden bağlanmayı dener.0 0: Dump ve fsck kontrolü için (ağ dosya sistemleri için genellikle 0).
Alternatifler: /etc/fstab yerine systemd mount veya autofs gibi daha modern ve esnek otomatik bağlama yöntemleri de kullanılabilir.
Bağlantıyı Kesme (Unmount)
Bağlı uzak dosya sistemini ayırmak için standart umount komutu kullanılır:
umount ~/uzak-sunucuEğer "device is busy" hatası alırsanız, bağlama noktası içinde çalışan bir işlem olmadığından emin olun veya -l (lazy unmount) seçeneğini deneyin: umount -l ~/uzak-sunucu.
Last updated