คำแนะนำที่ครอบคลุมในการเปลี่ยนพอร์ต SFTP เริ่มต้นเพื่อถ่ายโอนไฟล์ระหว่างเครื่องผ่านการเชื่อมต่อที่ปลอดภัยและเข้ารหัส
SFTP ย่อมาจาก โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย. โปรโตคอลนี้ใช้งานโดยใช้ Secure Shell (SSH) ซึ่งให้การรักษาความปลอดภัยและการป้องกันจากช่องโหว่ที่ดีกว่า FTP ปกติ
SFTP ให้การเชื่อมต่อที่เชื่อถือได้เพื่อสื่อสารกับเครื่องระยะไกลผ่านเครือข่ายที่ไม่คุ้นเคย (ที่อาจเป็นอันตราย) ฟังก์ชัน SFTP บนสถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์เพื่อถ่ายโอนไฟล์
คู่มือที่ครอบคลุมนี้จะแนะนำคุณตลอดกระบวนการเปลี่ยนพอร์ต SFTP เริ่มต้นใน Linux
เลือกหมายเลขพอร์ต SFTP ใหม่
โดยค่าเริ่มต้น SFTP ใช้พอร์ตหมายเลข 22 ซึ่งเป็นเซิร์ฟเวอร์ SSH ในคู่มือนี้ เราจะเปลี่ยนเป็นพอร์ต 2222 จากพอร์ตเริ่มต้น 22 TCP แต่คุณสามารถเลือกที่จะใช้พอร์ตอื่นๆ ที่คุณเลือกเพื่อกำหนดค่าการเชื่อมต่อ SFTP
บันทึก: พอร์ต 0 – 1023 สงวนไว้สำหรับบริการของระบบ พอร์ตใหม่จะถูกเลือกจากพอร์ตระหว่าง 1024 ถึง 65535
อนุญาตพอร์ต SFTP ใหม่ในไฟร์วอลล์
หากระบบของคุณใช้ไฟร์วอลล์ ต้องแน่ใจว่าได้อนุญาตพอร์ต SFTP ใหม่ในไฟร์วอลล์ก่อนที่จะทำการเปลี่ยนแปลงในไฟล์ระบบ มิฉะนั้น การเข้าถึง SFTP จะถูกบล็อก
บนระบบ Ubuntu คุณสามารถเรียกใช้คำสั่งด้านล่างเพื่อเพิ่มพอร์ต SFTP ใหม่ในรายการพอร์ตที่อนุญาตในไฟร์วอลล์ของ Ubuntu
sudo ufw อนุญาต 2222/tcp
เพื่อตรวจสอบว่ามีการเพิ่มพอร์ตใหม่ไปยัง ufw
ให้รันคำสั่งต่อไปนี้:
sudo ufw สถานะ
เอาท์พุท: สถานะ: แอ็คทีฟ To Action From -- ------ ---- 8080 ALLOW Anywhere 2222/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere
สำหรับลีนุกซ์ที่ทำงานอยู่ iptables
, ใช้คำสั่งต่อไปนี้เพื่อเพิ่มพอร์ตใหม่
sudo iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
สำหรับระบบ Cent OSให้ใช้คำสั่งต่อไปนี้เพื่อเปิดพอร์ตใหม่
sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp sudo firewall-cmd --reload
กำหนดค่า/เปลี่ยนพอร์ต SFTP ใน sshd_config
ไฟล์
ในการเปลี่ยนและกำหนดค่าพอร์ต SFTP เราจำเป็นต้องเปิด sshd_config ไฟล์และทำการเปลี่ยนแปลงที่จำเป็นในนั้น
ในการเปิด sshd_config
ไฟล์โดยใช้ นาโน
เอดิเตอร์ ใช้คำสั่งต่อไปนี้
sudo nano /snap/core/9804/etc/ssh/sshd_config
หาบรรทัดที่เขียนว่า พอร์ต 22
(ตามที่เห็นด้านล่าง)
ไฟล์การกำหนดค่าที่สร้างโดยแพ็คเกจ # ดูหน้าคู่มือ sshd_config (5) สำหรับรายละเอียด # พอร์ต, IP และโปรโตคอลใดที่เราฟังสำหรับพอร์ต 22 # ใช้ตัวเลือกเหล่านี้เพื่อจำกัดอินเทอร์เฟซ/โปรโตคอล sshd ที่จะผูกกับ #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2
เราต้องการเปลี่ยนพอร์ต 22 นี้เป็นพอร์ต 2222 ดังนั้นเพียงแค่แทนที่ด้วย พอร์ต 2222
ดังนี้
พอร์ต 2222
บันทึก: โปรดใช้ความระมัดระวังขณะแก้ไขไฟล์ sshd_config เนื่องจากการแก้ไขที่ไม่ถูกต้องอาจทำให้การเชื่อมต่อล้มเหลว
หากบรรทัดถูกแสดงความคิดเห็นโดยใช้a #
แล้วเอา #
แล้วบวกเลข 2222 แทน 22
หลังจากเปลี่ยน 22
พอร์ตในไฟล์ sshd_config กด Ctrl + o
ติดตามโดย เข้า
คีย์เพื่อบันทึกไฟล์ sshd_config จากนั้นออกจากโปรแกรมแก้ไขนาโนโดยกด Ctrl + x
.
รีสตาร์ท ssh/sshd
บริการ
หลังจากบันทึกการเปลี่ยนแปลงในไฟล์ sshd_config แล้ว ให้เริ่มบริการ SSH ใหม่เพื่อให้ระบบสามารถโหลดการกำหนดค่า SSH ใหม่ได้
บน Ubuntu และระบบที่ใช้ Debian อื่นๆ ใช้คำสั่งต่อไปนี้เพื่อเริ่มบริการ ssh ใหม่
sudo service ssh รีสตาร์ท
บน CentOS และลีนุกซ์รุ่นอื่นๆ ที่ ssh
บริการเรียกว่า sshd
ใช้คำสั่งอื่นด้านล่างเพื่อเริ่มบริการ sshd ใหม่
sudo systemctl รีสตาร์ท sshd
ตรวจสอบว่าพอร์ต SSH ใหม่ใช้งานได้
ตรวจสอบว่าพอร์ต SSH ใหม่เปิดใช้งานอยู่หรือไม่โดยใช้คำสั่งด้านล่าง
ss -an | grep 2222
คุณควรเห็นผลลัพธ์ที่คล้ายกันดังนี้
ผลลัพธ์ tcp LISTEN 0 128 0.0.0.0:2222 0.0.0.0:* tcp ESTAB 0 0 192.168.121.108:2222 172.217.160.163:8080 tcp LISTEN 0 128 [::]:2222 [::]:*
ใช้พอร์ต SFTP ใหม่เพื่อเชื่อมต่อ
ในการเริ่มใช้พอร์ต SFTP ใหม่ ให้ใช้ปุ่ม -P
ตัวเลือกใน sftp
คำสั่งระบุหมายเลขพอร์ต SSH ใหม่
sftp -p 2222 username@remote_host
ตัวอย่างเช่น:
sftp -p 2222 [email protected]
หากคุณกำลังใช้ไคลเอนต์ GUI เช่น Putty, WinSCP และอื่นๆ ให้ระบุหมายเลขพอร์ตใหม่แทน 22 ขณะเริ่มต้นการเชื่อมต่อ