แน่นอนว่าไม่มีปัญหาในการซิงค์ไฟล์ระหว่างอุปกรณ์สองเครื่อง แม้ว่า 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 [email protected]:/home/user $HOME/sshfs
แน่นอน หากคุณไม่ต้องการซิงค์โฮมไดเร็กทอรีทั้งหมดของผู้ใช้ทางฝั่งเซิร์ฟเวอร์ เพียงแทนที่ “/home/user” ด้วย “/home/user/some_other_directory” หลังจากที่คุณสร้างบนเซิร์ฟเวอร์แล้วพี>
เมื่อต้องการยกเลิกการต่อเชื่อม ให้ใช้คำสั่งนี้:
cd && fusermount -u $HOME/sshfs
บทสรุป
หากคุณต้องการให้ไดเร็กทอรีซิงค์กับฝั่งรีโมตอย่างถาวร ให้เพิ่มคำสั่งเช่น sshfs [email protected]:/home/user $HOME/sshfs
ในตัวจัดการการเริ่มต้นอัตโนมัติของคุณ ตัวจัดการกราฟิกแต่ละตัวมีตัวจัดการการกำหนดค่าการเริ่มอัตโนมัติที่แตกต่างกัน ดังนั้นโปรดอ่านคู่มือช่วยเหลือเกี่ยวกับสภาพแวดล้อมเดสก์ท็อปของคุณ บางแหล่งแนะนำให้เพิ่มรายการใน “/etc/fstab” แต่เราขอแนะนำให้คุณหลีกเลี่ยง เนื่องจากความล้มเหลวในการติดตั้งไดเร็กทอรีอาจทำให้ระบบของคุณไม่สามารถบู๊ตได้ทั้งหมด
หวังว่านี่จะครอบคลุมทุกความต้องการของคุณ แต่หากไม่เป็นเช่นนั้น คุณสามารถอ่านเกี่ยวกับตัวเลือกบรรทัดคำสั่งเพิ่มเติมได้ในคู่มือ SSHFS ออนไลน์