QC

Hướng dẫn RDP vào máy đang ở mạng CGNAT thông qua SSH tunnel

 Bạn thường gặp vấn đề khi dùng RDP nhưng không thể cài Port Forward. Bạn không muốn xài VPN vì tốc độ chậm, mình hướng dẫn cách tạo tunnel để thực hiện RDP thông qua một máy chủ SSH mà bạn có quyền tạo tunnel.


Chuẩn bị:

- Server SSH (có cài forwarding)

- SSH nên sử dụng Pubkey để đăng nhập bảo mật

- Máy A (RDP server - máy để remote vào)

- Máy C (RDP client - máy dùng để điều kiển)

- Máy B (SSH server - Có thể truy cập từ xa)

- (Optional) PublicKey SSH (có dạng id_ed25519)

Cách tạo: -C là comment để ghi nhớ key

ssh-keygen -t ed25519 -C "your_email@example.com"code-box


Lưu ý mình hướng dẫn bài này sử dụng Pubkey để đăng nhập. Key được cài vào authorized_keys sẵn trên SSH server.



Bước 1:  Tạo tunnel revert -R cho máy RDP server (lưu đường dẫn tới file và sửa đường dẫn tới file sau thông số -i)

ssh -i ./id_ed25519_new -p 12345 -R 13389:localhost:3389 admin@admin.iptime.org

(Máy A sẽ lắng nghe ở cổng 3389, mở một port 13389 trên SSH server B -  Mọi tín hiệu gửi tới 13389 trên server sẽ dùng tunnel này chuyển tới cổng 3389 Máy A)


Bước 2: Tạo tunnel -L cho máy RDP client ( sửa đường dẫn tới file sau thông số -i)

ssh -i ./id_ed25519_new -N -L 3388:localhost:13389 -p 12345 admin@admin.iptime.org

(Máy C sẽ gửi tín hiệu tới 13389 khi có tín hiệu từ localhost:3388 -  Mọi tín hiệu gửi tới 3388 trên localhost máy C sẽ dùng tunnel này chuyển tới cổng 13389 Máy B)


Kết hợp Bước 1 và 2 ta có: Khi mở RDP Client ở máy C ở cổng 3389 (localhost:3389) thì sẽ được tunnel giữa C và B chuyển đổi thành 13389, tiếp theo tại B cũng có 1 tunnel nhận tín hiệu từ Port 13389 gửi tới A cổng 3389 (chính là cổng RDP của A).

(C) 3388 <==>13389 B 13389<==>3389 (A)

Bật RDP lên từ máy C và gõ localhost:3388 là kết nối được tới A, A chỉ cần tạo được tunnel ssh tới B là C có thể remote vô tư.

Post a Comment

Previous Post Next Post