วิธีการทันเนล Windows Remote Desktop ผ่าน ssh โดยใช้กล่อง linux?


17

ฉันมีเซิร์ฟเวอร์จริงสองเครื่องในเครือข่ายในบ้านของฉัน linux ( 192.168.8.x) และ windows server 2008 ( 192.168.8.y)

เซิร์ฟเวอร์ linux ไม่สามารถเข้าถึงได้จากภายนอกโดย ssh บนพอร์ตที่ไม่ได้มาตรฐาน (เช่น 23008) ฉันจะสร้างอุโมงค์ RDP ถาวรผ่าน ssh บนกล่อง linux ได้อย่างไร ฉันรู้ว่าฉันสามารถใช้ผงสำหรับอุดรูบนเครื่องด้านนอกได้ แต่ฉันไม่รู้วิธีตั้งค่า sshd บนกล่องลินุกซ์อย่างถูกต้อง ขอบคุณสำหรับคำแนะนำใด ๆ !

คำตอบ:


18

สมมติว่ากล่อง linux ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ตที่ 1.2.3.4 บนพอร์ต 23008 บนระบบภายนอกฉันจะทำ:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 username@1.2.3.4

ฉันจะเชื่อมต่อกับระบบ RDP ที่ส่งต่อพอร์ตด้วย

external% rdesktop localhost:13389

หากกล่องภายนอกของคุณไม่ใช่กล่อง linux จะมีคำสั่งเทียบเท่าสำหรับเครื่องมือที่คุณมี ความคิดที่จะยังคงเหมือนเดิม: ส่งต่อพอร์ตภายนอก 13389 กับพอร์ต 192.168.8.y ของ 3389 แล้วใช้ RDP localhost:13389ลูกค้าภายนอกเพื่อเชื่อมต่อกับ

คุณอ้างถึงการตั้งค่า sshd ของกล่อง linux อย่างถูกต้อง แต่ถ้าคุณไม่ได้กำหนดค่าใหม่การตั้งค่า sshd มาตรฐานน่าจะรองรับสิ่งนี้ได้


คุณพูดถูกฉันคิดว่าฉันต้องกำหนดค่า sshd ไปยังช่องสัญญาณที่ระบุ แต่ทั้งหมดนี้ทำด้วยคำสั่งไคลเอนต์ (ssh หรือ putty บน windows) I
elsni

14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

สมมติว่า 3389 เป็นพอร์ตที่ RDP ของคุณกำลังทำงานอยู่และเซิร์ฟเวอร์ ssh มีการเข้าถึงพอร์ตดังกล่าวคุณสามารถเชื่อมต่อกับ 127.0.0.1:3389 ราวกับว่ามันเป็นเซิร์ฟเวอร์ระยะไกล


ip ของเซิร์ฟเวอร์ ssh คือภายในหรือภายนอก? การเปลี่ยนแปลงภายนอกทุกวัน แต่เซิร์ฟเวอร์สามารถเข้าถึง vie dyndns จากภายนอก
elsni

ในกรณีนี้: ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -Nชื่อโฮสต์สามารถใช้แทน ip ของหลักสูตรที่คุณมีพอร์ต 22 ส่งต่อไปยังเซิร์ฟเวอร์ ssh ซึ่งในหมายเหตุด้านอาจไม่ดีถ้าใช้พอร์ตที่แตกต่างกันและการส่งต่อว่าใน 1212 ใช้ -p 1212 ธง.
Oneiroi

<prdp> คือพอร์ต rdp บนเซิร์ฟเวอร์ windows ภายใน <pssh> คือพอร์ตของเซิร์ฟเวอร์ ssh linux สาธารณะ (ไม่เป็นมาตรฐานในกรณีของฉัน) <ptunnel> เป็นพอร์ตสำหรับอุโมงค์ <ipwserver> เป็นที่อยู่ ip ภายในของเซิร์ฟเวอร์ Windows ฉันทำ ssh -L <prdp>: <ipwserver>: <ptunnel> myserver.gotdns.com -l myusername -N -p <pssh> ถูกต้องหรือไม่
elsni

3

หนึ่งสามารถใช้อุโมงค์ SSH ภายในจากลูกค้าเดสก์ทอประยะไกลRemminaเกินไป

หากคุณสามารถ ssh ไปยังเซิร์ฟเวอร์ linux บางตัวโดยใช้คีย์ ssh และเซิร์ฟเวอร์นั้นมีพอร์ตเปิด 3389 (RDP) สำหรับแพ็กเก็ตที่มาจากเครื่องของคุณคุณสามารถใช้การตั้งค่าต่อไปนี้เพื่อ RDP ผ่านช่องสัญญาณ ssh

ในการตั้งค่าตัวแก้ไขโปรไฟล์แท็บพื้นฐานเป็นการเชื่อมต่อโดยตรง ไปที่แท็บSSH Tunnelและตั้งค่า tunelling เช่นนี้:


[x] เปิดใช้งานอุโมงค์ SSH

(o) กำหนดเอง [ip / ชื่อโฮสต์ของเซิร์ฟเวอร์ ssh / linux]

การรับรองความถูกต้อง SSH:

ชื่อผู้ใช้: [ชื่อผู้ใช้บนเซิร์ฟเวอร์ ssh / linux]

(o) รหัสสาธารณะ (อัตโนมัติ)


การใช้ตัวเลือกเหล่านั้น Remmina จะเปิดขึ้น

ssh -L 3389:[target windows server]:3389 [linux server] -N

จากนั้นเชื่อมต่อเซสชัน RDP ผ่านช่องสัญญาณ ssh

หากคุณเข้าสู่ระบบเซิร์ฟเวอร์ linux โดยใช้ชื่อผู้ใช้ / รหัสผ่านหรือหากคุณใช้ไฟล์ข้อมูลประจำตัวอื่นคุณต้องเปลี่ยนส่วนการรับรองความถูกต้อง SSH ของการตั้งค่าโปรไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.