Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีการเมานต์ไดเรกทอรีระยะไกลใน Linux ด้วย SSHFS

วิธีการเมานต์ไดเรกทอรีระยะไกลใน Linux ด้วย SSHFS

แน่นอนว่าไม่มีปัญหาในการซิงค์ไฟล์ระหว่างอุปกรณ์สองเครื่อง แม้ว่า Google Drive และ Microsoft OneDrive อาจไม่ให้ไคลเอนต์ Linux ที่เป็นทางการแก่คุณ แต่ NextCloud และบริษัทอื่นๆ ก็ทำเช่นนั้น แต่บางทีคุณอาจไม่ไว้ใจบริษัทใหญ่ๆ ให้จัดเก็บไฟล์ของคุณ หรือคุณอาจต้องการความปลอดภัยมากกว่าที่ NextCloud นำเสนอ ด้วยส่วนประกอบทั้งหมดที่ใช้ในการสร้างบางอย่าง เช่น NextCloud มีโอกาสที่ระบบจะมีช่องโหว่ด้านความปลอดภัยที่ยังไม่ถูกค้นพบมากกว่าโซลูชันที่ง่ายกว่า

เหตุใดจึงต้องใช้ SSHFS

จากมุมมองของผู้ใช้ปลายทาง วิธีนี้ใช้งานง่าย สะอาด และเรียบง่ายมาก นอกจากนี้ยังมีความปลอดภัยอย่างเหลือเชื่อเนื่องจากต้องอาศัยเซิร์ฟเวอร์ OpenSSH ที่ได้รับการพิสูจน์แล้ว การเข้ารหัสยังเป็นสิ่งที่สำคัญที่สุด ดังนั้น คุณจึงวางใจได้ว่าไม่มีใครสามารถขโมยไฟล์ของคุณในขณะที่พวกเขากำลังส่ง เซิร์ฟเวอร์ที่อัปเดตที่ได้รับการกำหนดค่าอย่างถูกต้องซึ่งรับฟังเฉพาะการเชื่อมต่อ SSH มักจะไม่สามารถถอดรหัสได้ทั้งหมดยกเว้นผู้โจมตีที่มีทักษะมากที่สุด (เช่น NSA ผู้เชี่ยวชาญด้านความปลอดภัย ฯลฯ) และพวกเขาอาจไม่ต้องการไฟล์ของคุณ

เหตุใดคุณจึงไม่ต้องการใช้ SSHFS

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

สรุปได้ว่า ถ้าคุณต้องการวิธีที่ง่ายและปลอดภัยในการซิงโครไนซ์ไดเร็กทอรีระยะไกลกับไดเร็กทอรีในเครื่องและไม่ต้องรีบร้อนมากนัก คุณอาจจะพอใจกับโซลูชันนี้

ติดตั้ง SSHFS

สำหรับการติดตั้งบน Arch Linux ให้ใช้คำสั่งนี้:

sudo pacman -S sshfs

หากคุณใช้ดิสโทรแบบ Fedora ให้ใช้:

sudo dnf install sshfs

บน Debian, Ubuntu และครอบครัว ให้ใช้:

sudo apt install sshfs

สำหรับผู้ที่ใช้ OpenSUSE ให้ป้อนคำสั่งนี้:

sudo zypper install sshfs

การกำหนดค่าเซิร์ฟเวอร์

หากคุณเช่าเซิร์ฟเวอร์หรือ VPS ภูตเซิร์ฟเวอร์ OpenSSH จะได้รับการกำหนดค่าไว้แล้ว ทำตามขั้นตอนที่แนะนำโดยผู้ให้บริการระบบคลาวด์ของคุณเพื่อกำหนดค่าผู้ใช้ทั่วไป (ไม่ใช่รูท) บางคนให้คุณทำสิ่งนี้ได้โดยตรงจากแผงควบคุมเว็บของพวกเขา และยังให้คุณนำเข้ากุญแจสาธารณะเพื่ออนุญาตการเข้าถึง SSH ในกรณีนี้ ให้สร้างคู่คีย์ในเครื่องด้วย ssh-keygen สั่งการ. หลังจากนั้น ให้นำเข้ากุญแจสาธารณะจาก “/home/your_username/.ssh/id_rsa.pub”

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

หากคุณต้องการซิงค์ไฟล์ระหว่างคอมพิวเตอร์สองเครื่องที่บ้าน ให้ถือว่าเครื่องหนึ่งเป็นเซิร์ฟเวอร์ (ติดตั้ง openssh-server แพ็คเกจและกำหนดค่า) และอีกอันหนึ่งเป็นไคลเอนต์ ใช้ขั้นตอนเดียวกัน

ติดตั้ง Remote Directory ในเครื่องด้วย SSHFS

ขั้นแรก สร้างไดเร็กทอรีที่จะซิงค์กับฝั่งระยะไกล

mkdir $HOME/sshfs

ถัดไป เมานต์ไดเร็กทอรีระยะไกลภายในเครื่องผ่าน SSHFS แทนที่ “ผู้ใช้” ด้วยชื่อผู้ใช้จริงที่สร้างบนเซิร์ฟเวอร์ของคุณและ “203.0.113.1” ด้วยที่อยู่ IP จริงของอินสแตนซ์ระยะไกลของคุณ

sshfs user@203.0.113.1:/home/user $HOME/sshfs

แน่นอน หากคุณไม่ต้องการซิงค์โฮมไดเร็กทอรีทั้งหมดของผู้ใช้ทางฝั่งเซิร์ฟเวอร์ เพียงแทนที่ “/home/user” ด้วย “/home/user/some_other_directory” หลังจากที่คุณสร้างบนเซิร์ฟเวอร์แล้ว

เมื่อต้องการยกเลิกการต่อเชื่อม ให้ใช้คำสั่งนี้:

cd && fusermount -u $HOME/sshfs

บทสรุป

หากคุณต้องการให้ไดเร็กทอรีซิงค์กับฝั่งรีโมตอย่างถาวร ให้เพิ่มคำสั่งเช่น sshfs user@203.0.113.1:/home/user $HOME/sshfs ในตัวจัดการการเริ่มต้นอัตโนมัติของคุณ ตัวจัดการกราฟิกแต่ละตัวมีตัวจัดการการกำหนดค่าการเริ่มอัตโนมัติที่แตกต่างกัน ดังนั้นโปรดอ่านคู่มือช่วยเหลือเกี่ยวกับสภาพแวดล้อมเดสก์ท็อปของคุณ บางแหล่งแนะนำให้เพิ่มรายการใน “/etc/fstab” แต่เราขอแนะนำให้คุณหลีกเลี่ยง เนื่องจากความล้มเหลวในการติดตั้งไดเร็กทอรีอาจทำให้ระบบของคุณไม่สามารถบู๊ตได้ทั้งหมด

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