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 sshfs
Ayrı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-sunucu
sshfs
Komutu ile Bağlama:# Temel kullanım: sshfs [kullanici@]sunucu:[uzak_dizin] /yerel/baglama/noktasi sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu
root@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:
-p
seçeneği yerine-o port=PORT_NO
kullanılır:sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o port=2222
Anahtar Kullanma:
-o IdentityFile=ANAHTAR_YOLU
kullanılır:sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o IdentityFile=~/.ssh/id_ed25519
Diğ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_other
seçeneği kullanılır (genellikle/etc/fuse.conf
içindeuser_allow_other
ayarı da gerekir):sshfs root@sunucu-ip:/remote/dizin ~/uzak-sunucu -o allow_other
Bağ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-sunucu
dizini 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 0
kullanici_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_other
ile 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-sunucu
Eğ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