Score:0

อุโมงค์ ssh สำหรับ 443

ธง ss

ฉันต้องการรับไฟล์ด้วยลิงก์ (443) ซึ่งเป็นไปได้จากเซิร์ฟเวอร์เท่านั้น .

ฉันมีเซิร์ฟเวอร์ 3 เครื่อง (เอ บี ซี).

สามารถเข้าถึงเซิร์ฟเวอร์ได้ และดาวน์โหลดไฟล์นี้โดย ว้าว จากเซิร์ฟเวอร์ .

wget https://NAME:[email protected]/customerInfo/804-577823-10 --no-check-certificate
...
2021-06-18 16:18:01 (24,7 MB/s) - â804-577823-10â บันทึกแล้ว [163/163]

จาก ถึง อนุญาตให้ใช้สำหรับพอร์ตเท่านั้น 22 (ssh) ไม่ใช่พอร์ต 443.

ฉันต้องทำอุโมงค์ที่จะลอดจาก ถึง ทาง 22 และดาวน์โหลดไฟล์ได้จาก ทาง ว้าว ท่า 443เหมือนกับว่าฉันอยู่บนเซิร์ฟเวอร์ .

ในระยะสั้นฉันต้องการอุโมงค์ ssh จาก ถึง แล้วฉันต้องใช้พอร์ต 443, สำหรับสมัคร/ดาวน์โหลดไฟล์ได้ที่ ทาง ว้าว จาก , แบบเดียวกับบน .

ฉันพยายามแล้ว แต่ไม่ประสบความสำเร็จ

ssh -L 4433:C:443 -Nf B

ฉันพยายามแม้กระทั่งกับพรอกซี แต่ก็ไม่ประสบความสำเร็จ

wget -e use_proxy=yes -e http_proxy=C https://NAME:[email protected]/customerInfo/804-577823-10 --no-check-certificate

เป็นไปได้ไหม?

ขอขอบคุณ.

อัปเดต

SERVER_A:443 -> อุโมงค์ ssh โดยพอร์ต 22 ถึง SERVER_B -> SERVER_C:443

ดังนั้นถ้าฉันใช้ SERVER_A ลิงค์เดียวกับบน SERVER_Bฉันต้องการรับไฟล์โดย ว้าว จาก SERVER_C.

วิธีที่ง่ายที่สุดคืออนุญาตพอร์ต 443 บน SERVER_C สำหรับ SERVER_Aแต่เป็นไปไม่ได้ในกรณีนี้

อนุญาตเฉพาะพอร์ตเท่านั้น 22 ระหว่าง SERVER_A และ SERVER_B.

ชัดเจนที่สุดแล้ว?

ขอบคุณ.

Score:2
ธง us

ขึ้นอยู่กับว่าใครเป็นเจ้าของเซิร์ฟเวอร์ในแง่ของการอนุญาตเพื่อกำหนดสิ่งที่คุณสามารถทำได้ นอกจากนี้ สิ่งที่ฉันไม่ค่อยเข้าใจก็คือการดาวน์โหลดเพียงครั้งเดียวหรือคุณต้องการวิธีแก้ปัญหาแบบถาวร

หลังจากอ่านคำถามของคุณ ฉันจะไปที่เซิร์ฟเวอร์ B ด้วยเชลล์ที่ปลอดภัย

$ ssh user@serverB

จากนั้นดาวน์โหลดไฟล์จากที่นั่น (ประเด็นในตอนท้ายมีความสำคัญ)

$scp -P 443 user@serverC:/path/to/file.txt

หลังจากนี้คุณสามารถส่งไปที่เซิร์ฟเวอร์ A

$scp file.txt user@serverA:~/

นอกจากนี้ยังมีโซลูชันที่ซับซ้อนกว่า แต่ขึ้นอยู่กับความต้องการและอิสระในการดำเนินการของคุณ

อัปเดต:

คุณสามารถส่งคำสั่งไปยังเซิร์ฟเวอร์ผ่าน ssh

ssh user@serverB "wget ​​ไฟล์ของคุณที่ C"

คุณสามารถทำคำสั่งสองครั้งเช่น:

ssh user@serverB "wget ​​your file @C:443 && scp file.txt you@serverA:~/"

แต่คุณต้องให้ serverB ติดตั้งใบรับรองสาธารณะของเขาที่ serverA เพื่อใช้รหัสผ่าน ทางเลือกคือสคริปต์คำสั่ง 2 อย่างที่อธิบายไว้ข้างต้น

genderbee avatar
ss flag
สวัสดี ใช่ ฉันรู้ แต่ฉันต้องการเข้าถึงลิงก์/ไฟล์นี้โดยตรงซึ่งอยู่บนเซิร์ฟเวอร์ **C** จากเซิร์ฟเวอร์ **A** ดังนั้นฉันจึงต้องกำหนดค่าเซิร์ฟเวอร์ **A** เพื่อให้ลิงก์นั้นมาจาก * เซิร์ฟเวอร์ *C** ที่สามารถเข้าถึงได้บนเซิร์ฟเวอร์ **A** เป็นไปได้ไหมที่จะทำผ่าน ssh tunnel?
Whois_me avatar
us flag
คุณเป็นเจ้าของเซิร์ฟเวอร์ B หรือไม่?
genderbee avatar
ss flag
ใช่ ฉันสามารถทำอะไรก็ได้บนเซิร์ฟเวอร์ B แต่ไม่ใช่บน C ดังนั้นฉันจึงไม่สามารถอนุญาตการเข้าถึงจากเซิร์ฟเวอร์ A ถึง C โดยตรงผ่านพอร์ต 443
ru flag
@genderbee คุณต้องไปทางอ้อม - scp ไปยังเซิร์ฟเวอร์ B จากนั้นจึงส่ง scp จากเซิร์ฟเวอร์ B ไปยังเซิร์ฟเวอร์ A หากคุณไม่ได้เป็นเจ้าของ A หรือ C คุณควรพูดคุยกับผู้ดูแลระบบเพราะพวกเขาอาจ *ไม่ต้องการ * A และ C มีการถ่ายโอนไฟล์ใด ๆ
Whois_me avatar
us flag
@genderbee. แม้ว่าฉันจะชอบความท้าทายในการเจาะอุโมงค์คอมพิวเตอร์ผ่านเมทริกซ์ แต่ฉันสงสัยจริง ๆ ว่าคุณกำลังพยายามทำอะไร
genderbee avatar
ss flag
@rm- มันง่ายมาก ฉันแค่ต้องการกำหนดค่าเซิร์ฟเวอร์ **A** เพื่อรับไฟล์โดยลิงก์ `wget` (พอร์ต 443) แบบเดียวกับที่ฉันใช้บนเซิร์ฟเวอร์ **B** โดยใช้โดยช่องสัญญาณ (หรือ มอบฉันทะ?) ตอนนี้ เมื่อฉันลอง `wget` บนเซิร์ฟเวอร์ **A** การเชื่อมต่อถูกปฏิเสธแม้ว่า ssh tunnel จะหยุดทำงาน
genderbee avatar
ss flag
@rm- โปรดดูการอัปเดตคำถาม
Whois_me avatar
us flag
ใช่ ฉันเข้าใจคำถามของคุณ คำตอบของฉันช่วยตอบคำถามของคุณหรือไม่? ถ้าไม่คุณควรดูวิธีแก้ไขปัญหาอื่น ๆ จากนั้นฉันเดา ดังนั้นคำถามเพิ่มเติมของฉัน คุณกำลังพยายามทำอะไรจริงๆ ดังนั้นเราจึงสามารถช่วยนอกขอบเขตของคำถามของคุณได้
genderbee avatar
ss flag
@rm- ฉันมีแอพที่ใช้ PHP และแอพนี้ใช้ wget call ดังนั้นจึงจำเป็นต้องใช้โดย `wget` ยังไม่ประสบความสำเร็จ
Whois_me avatar
us flag
ตกลง มาทำทีละขั้นตอนกัน คุณสามารถรับไฟล์ของคุณเมื่อคุณเข้าสู่ระบบเซิร์ฟเวอร์ B ได้หรือไม่? ดูที่: https://www.gnu.org/software/wget/manual/wget.html#URL-Format
genderbee avatar
ss flag
@rm- ใช่ฉันทำได้ เซิร์ฟเวอร์ B เป็นผลิตภัณฑ์ ดังนั้นจึงเป็นไปได้ที่จะรับลิงก์โดยพอร์ต 443 จากเซิร์ฟเวอร์ C เซิร์ฟเวอร์ A กำลังทดสอบ และไม่มีความเป็นไปได้ที่จะรับลิงก์โดยพอร์ต 443 จากเซิร์ฟเวอร์ C ฉันมีเพียงพอร์ต 22 ที่อนุญาตระหว่างเซิร์ฟเวอร์ A และ B ฉันจะสร้างพอร์ตการทำงานบนเซิร์ฟเวอร์ A (ทดสอบ) 443 สำหรับลิงก์ที่ต้องการ (เซิร์ฟเวอร์ C) ผ่านทางช่องสัญญาณผ่านพอร์ต 22 ได้อย่างไร
Whois_me avatar
us flag
ขั้นตอนต่อไป: เพิ่มในคำสั่ง wget นี้ในคำสั่ง ssh เช่นเดียวกับใน ssh user@serverB "wget ​​command to server C" และดำเนินการกับ A สิ่งนี้ควรใช้งานได้ คุณสามารถทดสอบการเชื่อมต่อ AB ก่อนด้วย ssh@user "touch test.txt" ควรมีไฟล์ใหม่ "test.txt" อยู่ภายในเซิร์ฟเวอร์ B ( /home/user ) หลังจากคำสั่งนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา