SSH Üzerinden SSHFS Kullanarak Uzak Linux Dosya Sistemini veya Dizini Bağlama


Bu makaleyi yazmanın asıl amacı, uzak Linux dosya sisteminin SSH üzerinden SSHFS istemcisi kullanılarak nasıl bağlanacağı konusunda adım adım bir kılavuz sağlamaktır.

Bu makale, hangi amaçla olursa olsun yerel sistemlerine uzak dosya sistemi kurmak isteyen kullanıcılar ve sistem yöneticileri için faydalıdır. SSHFS istemcisini Linux sistemimizden birine kurarak ve uzak dosya sistemlerini başarıyla monte ederek pratik olarak test ettik.

Kurulumun ileri aşamalarına geçmeden önce SSHFS'yi ve nasıl çalıştığını anlayalım.

SSHFS Nedir?

SSHFS, uzak dosya sistemini bağlamamıza ve SSH kullanarak yerel bir makinedeki uzak dizinler ve dosyalarla etkileşim kurmamıza olanak tanıyan (Secure SHell FileSystem) istemcisi anlamına gelir. Dosya Aktarım Protokolü (SFTP).

Önerilen Okuma: Linux'taki Uzak Sunuculardaki Dosyaları Aktarmak için 10 sFTP Komut Örneği

SFTP, Secure Shell protokolü üzerinden dosya erişimi, dosya aktarımı ve dosya yönetimi özellikleri sağlayan güvenli bir dosya aktarım protokolüdür. Çünkü SSH, dosyaları ağ üzerinden bir bilgisayardan başka bir bilgisayara aktarırken şifreleme kullanır ve SSHFS yerleşik FUSE (Kullanıcı Alanındaki Dosya Sistemi) ile birlikte gelir. Ayrıcalıklı olmayan kullanıcıların çekirdek kodunu değiştirmeden kendi dosya sistemlerini oluşturmalarına olanak tanıyan çekirdek modülü.

Bu makalede, uzak Linux dosya sistemini veya dizinini yerel bir Linux makinesine bağlamak için SSHFS istemcisini herhangi bir Linux dağıtımına nasıl kuracağınızı ve kullanacağınızı göstereceğiz.

Adım 1: SSHFS İstemcisini Linux Sistemlerine Kurun

Varsayılan olarak sshfs paketleri tüm büyük Linux dağıtımlarında mevcut değildir; sshfs'leri bağımlılıklarıyla birlikte Yum komutu yardımıyla yüklemek için Linux sistemlerinizin altındaki epel deposunu etkinleştirmeniz gerekir.

yum install sshfs
dnf install sshfs              [On Fedora 22+ releases]
sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

Adım 2: SSHFS Bağlantı Dizini Oluşturma

Sshfs paketi kurulduktan sonra uzak dosya sisteminizi bağlayacağınız bir bağlama noktası dizini oluşturmanız gerekir. Örneğin /mnt/tecmint altında bağlama dizini oluşturduk.

mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint     [On Debian/Ubuntu based systems]

Adım 3: Uzak Dosya Sistemini SSHFS ile Bağlama

Ekleme noktası dizininizi oluşturduktan sonra, uzak dosya sistemini /mnt/tecmint altına bağlamak için şimdi aşağıdaki komutu root kullanıcısı olarak çalıştırın. . Senin durumunda montaj dizini herhangi bir şey olabilir.

Aşağıdaki komut, yerel sistemde /mnt/tecmint altına /home/tecmint adlı uzak dizini bağlayacaktır. (x.x.x.x kısmını IP Adresiniz ve bağlama noktanızla değiştirmeyi unutmayın).


sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Linux sunucunuz SSH anahtarı tabanlı yetkilendirme ile yapılandırılmışsa, aşağıdaki komutta gösterildiği gibi ortak anahtarlarınızın yolunu belirtmeniz gerekecektir.


sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Adım 4: Uzak Dosya Sisteminin Bağlandığını Doğrulama

Yukarıdaki komutu herhangi bir hata olmadan başarıyla çalıştırdıysanız, /mnt/tecmint altına monte edilmiş uzak dosya ve dizinlerin listesini göreceksiniz.

cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

Adım 5: Bağlama Noktasını df -hT Komutu ile Kontrol Etme

df -hT komutunu çalıştırırsanız uzak dosya sistemi bağlama noktasını göreceksiniz.

df -hT
Örnek Çıktı
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
[email :/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint

Önerilen Okuma: Linux'ta Disk Alanını Kontrol Etmek için 12 Yararlı “df ” Komutu

Adım 6: Uzak Dosya Sistemini Kalıcı Olarak Bağlama

Uzak dosya sistemini kalıcı olarak bağlamak için /etc/fstab adlı dosyayı düzenlemeniz gerekir. Bunu yapmak için dosyayı favori düzenleyicinizle açın.

vi /etc/fstab
sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

Dosyanın en altına gidin ve içine aşağıdaki satırı ekleyin ve dosyayı kaydedip çıkın. Aşağıdaki giriş, uzak sunucu dosya sistemini varsayılan ayarlarla bağlar.


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

Sistemin yeniden başlatılması sırasında dosya sistemini otomatik olarak bağlamak için sunucular arasında SSH Parolasız Oturum Açma özelliğinin bulunduğundan emin olun.

Sunucunuz SSH anahtarı tabanlı yetkilendirme ile yapılandırılmışsa şu satırı ekleyin:


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Daha sonra değişiklikleri yansıtacak şekilde fstab dosyasını güncellemeniz gerekir.

mount -a
sudo mount -a   [On Debian/Ubuntu based systems]

Adım 7: Uzak Dosya Sisteminin Bağlantısını Kaldırma

Uzak dosya sisteminin bağlantısını kesmek için jun aşağıdaki komutu verin, uzak dosya sisteminin bağlantısı kesilecektir.

umount /mnt/tecmint

Şimdilik bu kadar, uzak dosya sistemi kurulumunda herhangi bir zorlukla karşılaşırsanız veya yardıma ihtiyacınız varsa, lütfen yorum yoluyla bizimle iletişime geçin ve bu makalenin çok yararlı olduğunu düşünüyorsanız arkadaşlarınızla paylaşın.