ฉันมีปัญหาแปลกๆ
ฉันสร้าง Linode ใหม่เพื่อทำหน้าที่เป็นจุดสิ้นสุดการขุดอุโมงค์
ฉันสามารถส่งต่อพอร์ต 1194 จากระยะไกลได้สำเร็จ ดังนั้นตอนนี้จึงเชื่อมต่อกับ linode-server@1194 ไปยังพอร์ต 1194 ของเครื่องของฉันได้สำเร็จ และฉันสามารถเชื่อมต่อกับ VPN ของฉันได้โดยเชื่อมต่อกับพอร์ต 1194 บนเซิร์ฟเวอร์ linode
คำสั่งด้านล่างคือสิ่งที่ฉันใช้ (คำสั่งที่ใช้งานได้):
ssh -N -R 1194:localhost:1194 [email protected]
ตอนนี้ผมต้องการ port forward 443 ด้วย ฉันลองสิ่งนี้:
ssh -N -R 443:192.168.1.122:443 [email protected]
เซิร์ฟเวอร์ภายในของฉันกำลังฟัง 192.168.1.122 โดยตั้งใจ (ไม่ใช่ localhost)
อย่างไรก็ตาม คำสั่งดังกล่าวไม่สามารถเปิดพอร์ต 443 บนเซิร์ฟเวอร์ได้ ฉันได้รับข้อผิดพลาดด้านล่าง:
คำเตือน: การส่งต่อพอร์ตระยะไกลล้มเหลวสำหรับการฟังพอร์ต 443
ดังนั้นฉันจึงตรวจสอบเซิร์ฟเวอร์ linode ว่ามีอะไรทำงานบนพอร์ต 443 หรือไม่ ไม่มีอะไร:
user@linode-server:~$ sudo netstat -tulpn
การเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่ (เฉพาะเซิร์ฟเวอร์)
Proto Recv-Q Send-Q Local Address ที่อยู่ต่างประเทศ State PID/ชื่อโปรแกรม
tcp 0 0 0.0.0.0:1194 0.0.0.0:* ฟัง 7438/sshd: ผู้ใช้
tcp 0 0 127.0.0.53:53 0.0.0.0:* ฟัง 411/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* ฟัง 2377/sshd: /usr/sbi
tcp 0 0 0.0.0.0:25 0.0.0.0:* ฟัง 1513/หลัก
tcp6 0 0 :::1194 :::* ฟัง 7438/sshd: ผู้ใช้
tcp6 0 0 :::22 :::* ฟัง 2377/sshd: /usr/sbi
tcp6 0 0 :::25 :::* ฟัง 1513/master
udp 0 0 127.0.0.53:53 0.0.0.0:* 411/systemd-แก้ไข
user@linode-server:~$
ไม่มีซอฟต์ไฟร์วอลล์บนเซิร์ฟเวอร์ และปิดไฟร์วอลล์ระบบคลาวด์ Linode ฉันก็ยังทำไม่ได้
ฉันไม่รู้เลยว่าทำไมการส่งต่อ 443 ไม่ทำงาน
ป.ล.- การตรวจสอบผู้ใช้ทำงานได้ดีในขณะที่สร้างอุโมงค์
ฉันไม่แน่ใจว่าจะช่วยได้หรือไม่ แต่ sshd_config ของฉันมีลักษณะดังนี้:
user@linode-server:~$ cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"
รวม /etc/ssh/sshd_config.d/*.conf
PermitRootเข้าสู่ระบบหมายเลข
เลขที่ยืนยันรหัสผ่าน
หมายเลขใบอนุญาตว่างรหัสผ่าน
ChallengeResponseAuthentication เลขที่
ใช้ PAM ใช่
GatewayPort ใช่
X11การส่งต่อใช่
เลขที่พิมพ์
ยอมรับEnv LANG LC_*
ระบบย่อย sftp /usr/lib/openssh/sftp-server
user@linode-server:~$
และเพื่อชี้แจงไม่มีอะไรใน /etc/ssh/sshd_config.d/
แบบฟอร์มการบันทึกอย่างละเอียด sshd บนเซิร์ฟเวอร์ linode:
...
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9499]: คีย์สาธารณะที่เลื่อนออกไปสำหรับ pi จาก *HIDDEN: พอร์ต IP สาธารณะที่บ้านของฉัน* 49180 ssh2 [preauth]
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9499]: พบคีย์ RSA *HIDDEN* ที่ /home/pi/.ssh/authorized_keys:1
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9499]: ยอมรับคีย์สาธารณะสำหรับ pi จาก *HIDDEN: พอร์ต IP สาธารณะที่บ้านของฉัน* 49180 ssh2: RSA *HIDDEN*
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9499]: pam_unix(sshd:session): เซสชันเปิดสำหรับผู้ใช้ pi โดย (uid=0)
14 ส.ค. 09:00:32 น. เชื่อมต่อ systemd-logind[578]: เซสชันใหม่ 157 ของผู้ใช้ pi
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9499]: ลูกผู้ใช้อยู่ใน pid 9579
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9579]: ผูก [0.0.0.0]:443: ปฏิเสธการอนุญาต
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9579]: ข้อผิดพลาด: ผูก [::]:443: ปฏิเสธการอนุญาต
14 ส.ค. 09:00:32 น. เชื่อมต่อ sshd[9579]: ข้อผิดพลาด: channel_setup_fwd_listener_tcpip: ไม่สามารถฟังพอร์ต: 443
...
เหตุใดจึงถูกปฏิเสธการอนุญาต คำสั่งการส่งต่อระยะไกลที่ฉันใช้ด้านบนใช้ผู้ใช้คนเดียวกัน (สำหรับทั้งอุโมงค์สำเร็จและล้มเหลว)
เพิ่งเจอ ที่นี่ อาจเป็นเพราะ 443 เป็นพอร์ตพิเศษ ตอนนี้ฉันไม่ต้องการใช้ผู้ใช้รูทเพื่อเปิดใช้งานการส่งต่อระยะไกลบน 443 ฉันได้ล็อคเซิร์ฟเวอร์ linode และไม่สามารถเข้าสู่ระบบในฐานะรูทได้ (และฉันไม่ต้องการอนุญาตการเข้าสู่ระบบรูท) ตามลิงค์ด้านบนครับ ใช้ได้ ตั้งค่าแคป
บนเซิร์ฟเวอร์ linode แต่ฉันจะทำอย่างไรเนื่องจากคำสั่งเปิดช่องสัญญาณถูกเรียกใช้จากในเครื่องของฉัน ทางเลือกของฉันคืออะไร? ฉันรู้ว่าการใช้พอร์ตที่สูงกว่าบนเซิร์ฟเวอร์ linode อาจใช้งานได้ แต่ฉันไม่ต้องการทำเช่นนั้น ฉันต้องการให้เป็นพอร์ต 443 ดังนั้นฉันจึงไม่จำเป็นต้องจำพอร์ต