ค้นหาเว็บไซต์

วิธีติดตั้งระบบไฟล์หรือไดเรกทอรี Linux ระยะไกลโดยใช้ SSHFS บน SSH


วัตถุประสงค์หลักของการเขียนบทความนี้คือเพื่อให้คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการติดตั้งระบบไฟล์ Linux ระยะไกลโดยใช้ไคลเอ็นต์ SSHFS บน SSH

บทความนี้มีประโยชน์สำหรับผู้ใช้และผู้ดูแลระบบที่ต้องการติดตั้งระบบไฟล์ระยะไกลบนระบบภายในของตนเพื่อวัตถุประสงค์ใดก็ตาม เราได้ทดสอบในทางปฏิบัติโดยการติดตั้งไคลเอ็นต์ SSHFS บนระบบ Linux ระบบใดระบบหนึ่งของเรา และติดตั้งระบบไฟล์ระยะไกลได้สำเร็จ

ก่อนที่เราจะดำเนินการติดตั้งเพิ่มเติม มาทำความเข้าใจเกี่ยวกับ SSHFS และวิธีการทำงานกันก่อน

SSHFS คืออะไร?

SSHFS ย่อมาจาก (Secure SHell FileSystem) ไคลเอ็นต์ที่ช่วยให้เราสามารถเมานต์ระบบไฟล์ระยะไกลและโต้ตอบกับไดเร็กทอรีและไฟล์ระยะไกลบนเครื่องท้องถิ่นโดยใช้ SSH โปรโตคอลการถ่ายโอนไฟล์ (SFTP)

การอ่านที่แนะนำ: 10 ตัวอย่างคำสั่ง sFTP เพื่อถ่ายโอนไฟล์บนเซิร์ฟเวอร์ระยะไกลใน Linux

SFTP เป็นโปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัยที่ให้การเข้าถึงไฟล์ การถ่ายโอนไฟล์ และคุณลักษณะการจัดการไฟล์ผ่านโปรโตคอล Secure Shell เนื่องจาก SSH ใช้การเข้ารหัสในขณะที่ถ่ายโอนไฟล์ผ่านเครือข่ายจากคอมพิวเตอร์เครื่องหนึ่งไปยังคอมพิวเตอร์อีกเครื่องหนึ่ง และ SSHFS มาพร้อมกับ FUSE ในตัว (ระบบไฟล์ใน Userspace) โมดูลเคอร์เนลที่อนุญาตให้ผู้ใช้ที่ไม่มีสิทธิ์สามารถสร้างระบบไฟล์โดยไม่ต้องแก้ไขโค้ดเคอร์เนล

ในบทความนี้ เราจะแสดงวิธีการติดตั้งและใช้ไคลเอ็นต์ SSHFS บนระบบปฏิบัติการ Linux ใดๆ เพื่อติดตั้งระบบไฟล์หรือไดเรกทอรี Linux ระยะไกลบนเครื่อง Linux ภายในเครื่อง

ขั้นตอนที่ 1: ติดตั้งไคลเอ็นต์ SSHFS ในระบบ Linux

ตามค่าเริ่มต้น แพ็คเกจ sshfs ไม่มีอยู่ใน Linux เวอร์ชันหลักทั้งหมด คุณต้องเปิดใช้งานพื้นที่เก็บข้อมูล epel ภายใต้ระบบ Linux ของคุณเพื่อติดตั้ง sshfs ด้วยความช่วยเหลือของคำสั่ง Yum ที่มีการขึ้นต่อกัน

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

ขั้นตอนที่ 2: การสร้าง SSHFS Mount Directory

เมื่อติดตั้งแพ็คเกจ sshfs แล้ว คุณจะต้องสร้างไดเร็กทอรีจุดเชื่อมต่อที่คุณจะติดตั้งระบบไฟล์ระยะไกล ตัวอย่างเช่น เราได้สร้างไดเร็กทอรีเมาต์ภายใต้ /mnt/tecmint

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

ขั้นตอนที่ 3: การติดตั้งระบบไฟล์ระยะไกลด้วย SSHFS

เมื่อคุณสร้างไดเร็กทอรีจุดเมานท์แล้ว ให้รันคำสั่งต่อไปนี้ในฐานะผู้ใช้ root เพื่อเมานต์ระบบไฟล์ระยะไกลภายใต้ /mnt/tecmint . ในกรณีของคุณ ไดเร็กทอรีเมานต์จะเป็นอะไรก็ได้

คำสั่งต่อไปนี้จะเมาต์ไดเร็กทอรีระยะไกลที่เรียกว่า /home/tecmint ภายใต้ /mnt/tecmint ในระบบโลคัล (อย่าลืมแทนที่ x.x.x.x ด้วยที่อยู่ IP และจุดเชื่อมต่อของคุณ)


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

หากเซิร์ฟเวอร์ Linux ของคุณได้รับการกำหนดค่าด้วยการอนุญาตตามคีย์ SSH คุณจะต้องระบุเส้นทางไปยังคีย์สาธารณะของคุณดังที่แสดงในคำสั่งต่อไปนี้


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]

ขั้นตอนที่ 4: การตรวจสอบว่าติดตั้งระบบไฟล์ระยะไกลแล้ว

หากคุณรันคำสั่งข้างต้นได้สำเร็จโดยไม่มีข้อผิดพลาด คุณจะเห็นรายการไฟล์และไดเร็กทอรีระยะไกลที่เมาท์ภายใต้ /mnt/tecmint

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

ขั้นตอนที่ 5: ตรวจสอบ Mount Point ด้วยคำสั่ง df -hT

หากคุณรันคำสั่ง df -hT คุณจะเห็นจุดเมานต์ระบบไฟล์ระยะไกล

df -hT
ผลลัพธ์ตัวอย่าง
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

แนะนำให้อ่าน: 12 คำสั่ง “df ” ที่มีประโยชน์เพื่อตรวจสอบพื้นที่ดิสก์ใน Linux

ขั้นตอนที่ 6: การติดตั้งระบบไฟล์ระยะไกลอย่างถาวร

หากต้องการเมานต์ระบบไฟล์ระยะไกลอย่างถาวร คุณต้องแก้ไขไฟล์ชื่อ /etc/fstab โดยเปิดไฟล์ด้วยโปรแกรมแก้ไขที่คุณชื่นชอบ

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

ไปที่ด้านล่างของไฟล์และเพิ่มบรรทัดต่อไปนี้ลงไปแล้วบันทึกไฟล์และออก รายการด้านล่างเมานต์ระบบไฟล์เซิร์ฟเวอร์ระยะไกลพร้อมการตั้งค่าเริ่มต้น


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

ตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบแบบไม่ใช้รหัสผ่าน SSH ระหว่างเซิร์ฟเวอร์เพื่อติดตั้งระบบไฟล์อัตโนมัติในระหว่างการรีบูตระบบ

หากเซิร์ฟเวอร์ของคุณได้รับการกำหนดค่าด้วยการอนุญาตตามคีย์ SSH ให้เพิ่มบรรทัดนี้:


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

ถัดไปคุณต้องอัปเดตไฟล์ fstab เพื่อให้สอดคล้องกับการเปลี่ยนแปลง

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

ขั้นตอนที่ 7: การถอนติดตั้งระบบไฟล์ระยะไกล

หากต้องการถอนติดตั้งระบบไฟล์ระยะไกล ให้ออกคำสั่งต่อไปนี้เพื่อยกเลิกการต่อเชื่อมระบบไฟล์ระยะไกล

umount /mnt/tecmint

เพียงเท่านี้ หากคุณประสบปัญหาหรือต้องการความช่วยเหลือในการติดตั้งระบบไฟล์ระยะไกล โปรดติดต่อเราผ่านความคิดเห็น และหากคุณรู้สึกว่าบทความนี้มีประโยชน์มาก โปรดแบ่งปันกับเพื่อนของคุณ