โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัยคือสิ่งที่ SFTP ย่อมาจาก Secure Shell (SSH) ซึ่งใช้ในการปรับใช้โปรโตคอลนี้มีความปลอดภัยและป้องกันช่องโหว่ได้ดีกว่า FTP SFTP มอบวิธีที่ปลอดภัยในการพูดคุยกับคอมพิวเตอร์ระยะไกลผ่านเครือข่ายที่ไม่รู้จักและอาจเป็นอันตราย ในการถ่ายโอนไฟล์ SFTP ใช้สถาปัตยกรรมแบบไคลเอนต์-เซิร์ฟเวอร์ คุณยังสามารถเปลี่ยนพอร์ต SFTP ใน Linux
นอกจากนี้ยังให้คุณทำสิ่งต่างๆ ด้วยไฟล์ระยะไกลและเริ่มการถ่ายโอนไฟล์อีกครั้ง คุณสามารถใช้ SFTP แทนโปรโตคอล FTP รุ่นเก่าได้ มันทำทุกอย่างที่ FTP ทำ แต่การเชื่อมต่อนั้นปลอดภัยกว่า Secure Shell หรือ SSH เป็นโปรโตคอลเครือข่ายที่ช่วยให้ผู้ใช้เชื่อมต่อกับเซิร์ฟเวอร์ได้จากระยะไกล นอกจากนี้ยังทำให้การสื่อสารระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ส่วนตัวมีความปลอดภัยมากขึ้นด้วยการเข้ารหัส
พอร์ตซึ่งเรียกอีกอย่างว่าแชนเนล เป็นส่วนสำคัญในการส่งข้อมูลทางอินเทอร์เน็ต โปรแกรมต่าง ๆ ใช้พอร์ตต่าง ๆ เพื่อพูดคุยกับเซิร์ฟเวอร์ผ่านอินเทอร์เน็ต มีพอร์ตเหล่านี้อยู่ระหว่าง 1024 ถึง 65535 ในโพสต์นี้ เราจะพูดถึงวิธีเปลี่ยนพอร์ต SFTP ใน Linux
วิธีเปลี่ยนพอร์ต SFTP ใน Linux
เลือกหมายเลขพอร์ตใหม่
ใน Linux หมายเลขพอร์ตที่ต่ำกว่า 1024 ใช้สำหรับบริการที่เป็นที่รู้จักเท่านั้น และมีเพียงรูทเท่านั้นที่สามารถผูกได้ เพื่อหลีกเลี่ยงปัญหาการจัดสรรพอร์ต คุณสามารถใช้พอร์ตบริการ SSH ในช่วง 1–1024 แต่ขอแนะนำให้คุณใช้พอร์ตที่สูงกว่า 1024 ในกรณีนี้ คุณสามารถเปลี่ยนพอร์ต SFTP/SSH เป็น 4422 แต่ คุณสามารถใช้พอร์ตใดก็ได้ที่คุณต้องการ
ปรับไฟร์วอลล์
ก่อนที่คุณจะเปลี่ยนพอร์ต SFTP/SSH คุณต้องเปิดพอร์ตใหม่ในไฟร์วอลล์ของคุณก่อน
ถ้า คุณกำลังใช้ไฟร์วอลล์ UFW ที่มาพร้อมกับ Ubuntu ให้ใช้คำสั่งต่อไปนี้เพื่อเปิดพอร์ต: sudo ufw allow 4422/tcp CentOS มาพร้อมกับ FirewallD เป็นเครื่องมือสำหรับจัดการไฟร์วอลล์ ป้อนคำสั่งต่อไปนี้เพื่อเปิดพอร์ต: sudo firewall-cmd–permanent–zone=public–add-port=4422/tcp
sudo firewall-cmd–reload ผู้ใช้ที่ใช้ CentOS จะต้องเปลี่ยนกฎ SELinux เป็น ยอมรับพอร์ต SSH ใหม่: sudo semanage port-a-t ssh_port_t-p tcp 4422 หากคุณใช้ Linux รุ่นอื่นที่มี iptables คุณสามารถเปิดพอร์ตใหม่ได้โดยพิมพ์คำสั่งต่อไปนี้: sudo iptables-A INPUT-p tcp–dport 4422-m conntrack–ctstate NEW,ESTABLISHED-j ยอมรับ
กำหนดค่า SFTP/SSH
ไฟล์กำหนดค่า/etc/ssh/sshd มีการกำหนดค่าเซิร์ฟเวอร์ SSH ใช้โปรแกรมแก้ไขข้อความของคุณเพื่อเปิดไฟล์: sudo vim/etc/ssh/sshd_config ค้นหาบรรทัดที่ขึ้นต้นด้วย “Port 22” ส่วนใหญ่แล้ว เครื่องหมายแฮช (#) จะใช้ในการลบบรรทัด ลบ # และใส่หมายเลขพอร์ต SSH ใหม่แทน: พอร์ต 4422 โปรดใช้ความระมัดระวังเมื่อเปลี่ยนไฟล์การกำหนดค่า หากการตั้งค่าไม่ถูกต้อง บริการ SSH อาจไม่สามารถเริ่มต้นได้ บันทึกไฟล์และเริ่มบริการ SSH ใหม่เพื่อให้การเปลี่ยนแปลงเกิดขึ้น: sudo systemctl restart ssh บริการ SSH ใน CentOS เรียกว่า sshd: sudo systemctl restart sshd ตรวจสอบให้แน่ใจว่า SSH daemon กำลังฟังพอร์ตใหม่โดยตรวจสอบสิ่งต่อไปนี้: ss-และ | grep 4422
ใช้พอร์ต SFTP ใหม่
หากต้องการเปลี่ยนหมายเลขพอร์ต ให้ใช้คำสั่ง sftp พร้อมตัวเลือก-P และหมายเลขพอร์ตใหม่: sftp-P 4422 username@remote_host_or_ip เพียงป้อนพอร์ตใหม่ในไคลเอนต์ อินเทอร์เฟซหากคุณใช้ไคลเอนต์ GUI SFTP
พอร์ต SFTP ใน Linux คืออะไร
SFTP หรือ SSH File Transfer Protocol เป็นโปรโตคอลที่เข้ารหัสการเชื่อมต่อระหว่างสองโฮสต์เมื่อมีการส่งไฟล์ระหว่างกัน ช่วยให้ผู้ใช้ทำสิ่งต่าง ๆ กับไฟล์ที่อยู่ห่างไกลและเริ่มการถ่ายโอนไฟล์ใหม่ได้ ทำงานในลักษณะเดียวกับโปรโตคอล FTP แต่การเชื่อมต่อมีความปลอดภัยมากกว่า
โดยค่าเริ่มต้น SFTP ใช้พอร์ต 22 ในขณะที่โปรโตคอล FTP ใช้พอร์ต 21 ข้อแตกต่างระหว่างสองโปรโตคอลนี้คือ SFTP เท่านั้น ใช้พอร์ตเดียวในการส่งและรับไฟล์ ในขณะที่ FTP ใช้หลายพอร์ตในลักษณะที่ยืดหยุ่นกว่า ทั้งเซิร์ฟเวอร์และไคลเอ็นต์จะตัดสินใจโดยอัตโนมัติว่าจะใช้แชนเนลใด
ดังนั้นการใช้โปรโตคอล FTP จึงมีความเสี่ยงด้านความปลอดภัย เนื่องจากเป็นจุดที่ผู้โจมตีสามารถเข้ามาได้ SFTP (SSH File Transfer Protocol) เป็นโปรโตคอลการถ่ายโอนไฟล์ที่สร้างขึ้นบนเลเยอร์การขนส่ง SSH (Secure Shell) ใช้เพื่อย้ายข้อมูลจำนวนมากอย่างปลอดภัยทางอินเทอร์เน็ต
SFTP ใช้ SSH เพื่อตั้งค่าการเชื่อมต่อที่ปลอดภัยและตรวจสอบสิทธิ์ และให้การป้องกันการโอนไฟล์ในระดับที่สูงขึ้นแก่องค์กร ใช้คุณสมบัติการรับรองความถูกต้องและการเข้ารหัสของ SSH เพื่อให้ไฟล์ปลอดภัยในขณะที่กำลังส่ง
คำถามที่พบบ่อย
การใช้ SFTP กับโปรโตคอลการถ่ายโอนไฟล์อื่นๆ มีประโยชน์อย่างไร
SFTP ดีกว่าโปรโตคอลการถ่ายโอนไฟล์อื่นๆ เนื่องจากข้อมูลสามารถส่งได้อย่างปลอดภัยและเข้ารหัส ไคลเอ็นต์และเซิร์ฟเวอร์สามารถตรวจสอบได้ และส่งข้อมูลผ่านเครือข่ายที่ไม่ปลอดภัยได้ เช่น อินเทอร์เน็ต
SFTP ใช้พอร์ต 443 ได้หรือไม่
พอร์ต HTTP 443 เป็นโปรโตคอลใหม่ที่แก้ไขปัญหาส่วนใหญ่ของ SFTP ซึ่งทำให้ยากต่อการใช้งานสำหรับการถ่ายโอนข้อมูลขนาดเล็กจำนวนมาก SFTP ใช้การเชื่อมต่อการควบคุมแบบมีสถานะที่เก็บไดเร็กทอรีการทำงานปัจจุบัน การโอนย้ายแต่ละครั้งต้องใช้การเชื่อมต่อที่สองในการส่งข้อมูลจริง
ฉันจะตรวจสอบการเชื่อมต่อ SFTP ของฉันได้อย่างไร
ในการทดสอบการเชื่อมต่อ SFTP และเว็บเซิร์ฟเวอร์ คุณใช้การทดสอบ ไฟล์. ใช้เครื่องมือ SFTP สำหรับบรรทัดคำสั่งที่มาจากแหล่งที่มาของบุคคลที่สาม ตัวอย่างเช่น การทดสอบนี้ทำงานได้ดีกับไคลเอนต์ PuTTY SFTP (PSFTP) หมายเหตุ: คุณสามารถดาวน์โหลดโปรแกรม PuTTY ได้หลายโปรแกรม แต่เฉพาะ PSFTP เท่านั้นที่ใช้ได้สำหรับการทดสอบนี้
FTP และ SFTP คือพอร์ตใด
FTP อนุญาตการเชื่อมต่อมาที่พอร์ต 21 ในขณะที่ SFTP อนุญาต การเชื่อมต่อเข้ามาที่พอร์ต 22 FTP ไม่มีการเข้ารหัส แต่ SFTP ทำเพื่อให้สามารถส่งข้อมูลได้อย่างปลอดภัย FTP ใช้สถาปัตยกรรม SSH ในขณะที่ FTP ใช้สถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์
หมายเลขพอร์ต 20 และ 21 ใน SFTP คืออะไร
ช่องควบคุมต้องผ่านพอร์ต 21 และ ช่องข้อมูลต้องผ่านพอร์ต 20 ดูวิธีใช้สองช่องนี้ คุณอาจทราบอยู่แล้วว่าคำสั่ง FTP ใช้พอร์ต TCP 21 เมื่อเดินทางผ่านสาย คุณอาจทราบด้วยว่าโดยค่าเริ่มต้น พอร์ต 20 จะถูกตั้งค่าเป็นช่องข้อมูล FTP