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