Đường hầm SSH cho máy tính từ xa thông qua máy chủ trung gian Phần II


10

Trước đây tôi đã hỏi cách định cấu hình 2 đường hầm SSH bằng máy chủ trung gian để chạy Remote Desktop thông qua chúng và tôi đã quản lý để làm cho nó hoạt động. Bây giờ, tôi đang cố gắng làm tương tự, sử dụng cùng một máy, nhưng theo thứ tự ngược lại. Đây là thiết lập:

  1. PC Windows 7 trong một mạng riêng, ngồi sau tường lửa.
  2. Máy chủ Linux truy cập công cộng, có quyền truy cập vào PC.
  3. Máy tính xách tay Windows 7, ở nhà, trên đó tôi muốn làm Remote Desktop từ PC.

Tôi sử dụng Putty trên máy tính xách tay để tạo một đường hầm ngược từ nó đến máy chủ Linux : R60666 localhost:3389.

Tôi sử dụng Putty trên PC để tạo một đường hầm thông thường từ nó đến máy chủ Linux : L60666 localhost:60666.

Tôi SSH tới máy chủ Linux và tôi chạy telnet localhost 60666 và nó dường như tạo ra đầu ra mong đợi, như được mô tả trong các mẹo gỡ lỗi mà tôi nhận được ở đây .

Tôi cố gắng kết nối Remote Desktop từ PC với máy tính xách tay : localhost:60666. Nó hỏi tên người dùng và mật khẩu của tôi, tôi bấm OK và nó khóa phiên hiện tại của tôi trên máy tính xách tay (vì vậy tôi thấy màn hình chào mừng trên máy tính xách tay thay vì máy tính để bàn của tôi), nó hiển thị thông báo "Chào mừng" trong màn hình Remote Desktop và sau đó nó chỉ chuyển sang màu đen Nó không ngắt kết nối, nó không cung cấp bất kỳ lỗi nào và tôi không thể thực hiện bất kỳ hành động nào trong màn hình Remote Desktop. Tôi đã thử cài đặt tương tự với máy tính xách tay Windows XP và tôi cũng gặp phải các triệu chứng tương tự. Tôi cũng đã thử sử dụng các cổng khác nhau hơn 60666, nhưng không có gì thay đổi. Có ai biết tôi đang làm gì sai không?


Cập nhật : Như được chỉ ra bởi @jwinders, tôi không thể chạy telnet PC 3389trực tiếp từ máy chủ Linux. Vì Windows Firewall có một quy tắc cho phép tất cả các kết nối trên cổng 3389, tôi không biết cái gì đang chặn nó. May mắn thay, tôi có thể tạo một đường hầm SSH từ máy Linux sang PC ssh 3389:localhost:3389 'domain\user'@PC.


Tôi thực sự chỉ cần sử dụng GoToMyPC tại thời điểm đó.
ewwhite

1
@ewwhite Tôi không thấy bất kỳ lý do nào khiến tôi không thể sử dụng cài đặt mà tôi đã mô tả. Ngay cả khi có các giải pháp đơn giản hơn (yêu cầu liên quan đến bên thứ 3 khác), tôi coi đây là một thử thách thú vị.
Mihai Todor

1
Đây là một bài đăng vey ld, nhưng vấn đề vẫn còn tồn tại, và khá bực bội khi tất cả các câu trả lời dường như bị mất điểm. Kết nối có thể được bắt đầu, nhưng nó sẽ ngắt một giây sau khi bắt đầu. Nhận xét rằng "đăng nhập qua ndp, sẽ phá vỡ kết nối đó" có vẻ phù hợp với những gì được quan sát nhưng nó không trả lời tại sao cũng không đề xuất giải pháp.
rhermans

Câu trả lời:


3

Hôm nay tôi chạy vào cùng một màn hình đen + ngắt kết nối, sử dụng putty làm khách hàng của tôi. Tôi đã tìm thấy một giải pháp cuối cùng.

Tôi đã chuyển từ putty sang bitvise tunier và thiết lập S2Ckết nối với các cài đặt sau:

listen if:0.0.0.0
listen port:13389
destination host:localhost
dest port:3389

Nếu có cơ hội, tôi đang sử dụng máy chủ bitvise ssh trên máy chủ của mình, vì vậy đây có thể chỉ là sự kết hợp hài lòng cho hai sản phẩm được sản xuất bởi cùng một nhà cung cấp. Sẽ thật tuyệt nếu điều này giải quyết vấn đề cho người khác.

Đối với hồ sơ, tôi không liên kết với những người này bằng mọi cách.


2

Tôi không thấy có gì sai với các đường hầm SSH của bạn. Kết nối với localhost: 60666 trên PC sẽ kết thúc tại localhost: 3389 trên Laptop. Và thực tế bạn đang nhận được một màn hình đăng nhập xác nhận đánh giá này.

Một chút googling trên màn hình trống đưa tôi đến bài viết cơ sở kiến ​​thức này của Microsoft: http://support.microsoft.com/kb/555840 . Nó tuyên bố một màn hình trống có thể do sự không phù hợp kích thước MTU:

Xác thực rằng máy chủ, máy khách và thiết bị mạng sử dụng kích thước "MTU".

Với số lượng lớn các bước nhảy mạng, tường lửa và những gì có của bạn, phân mảnh gói hoàn toàn có khả năng :) Hầu hết các máy Windows sử dụng MTU 1300 theo mặc định, trong khi hầu hết các hộp Linux có 1500 (giá trị tối đa được phép cho LAN, không xem xét các khung jumbo ). Bạn có thể thử hạ thấp chúng để giảm sự phân mảnh.

Xem thêm:


1
Cảm ơn vì tiền boa, nhưng, thật không may, nó không thực hiện được mẹo. MTU trên cả máy tính xách tay và PC của tôi được đặt thành 1500 ( netsh interface ipv4 show subinterfaces) và ping linux_server -f -l 1472thành công từ cả hai máy. Chỉ là một thử nghiệm, tôi đã cố gắng đặt MTU trên PC thành 1300, nhưng không được. Tôi cũng đã cố gắng thay đổi nó trên máy tính xách tay, nhưng không có kết quả :( Tôi tự hỏi liệu có cách nào "thông minh hơn" để gỡ lỗi vấn đề này không ...
Mihai Todor

1

VPN sẽ không phù hợp hơn? OpenVPN là siêu đơn giản để cấu hình. Dưới đây là một cấu hình mẫu và một số liên kết để hướng dẫn bạn thông qua quá trình tạo chứng chỉ.

Chỉ cần cấu hình trung gian là chủ nhà, và khách có thể quay số và vẫn liên lạc với nhau.

apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca 
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt

Sau đó tạo một tệp mới /etc/openvpn/client_server.confvà đặt các mục sau vào đó, thay đổi tệp SERVER_IP_ADDRESSphù hợp

local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
client-to-client

Sau đó, tạo một khóa cho mỗi người dùng sẽ kết nối và tạo tệp cấu hình trong thư mục ccd

./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.com

Địa chỉ IP PHẢI phù hợp với / 30 mạng con (xem http://www.subnet-calculator.com/cidr.php ), vì chỉ có 2 địa chỉ khả dụng (máy chủ và máy khách) cho mỗi kết nối. Vì vậy, IP khách hàng khả dụng tiếp theo của bạn sẽ là 192.168.100.6, v.v.

Sau đó, bạn có IP tĩnh cho mỗi người dùng kết nối.

Sau đó cung cấp the user1@domain.com.p12tệp cho người dùng cuối và sử dụng tệp cấu hình sau

client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0

1
Vâng, vâng, điều này có thể hoạt động, nhưng tôi không có quyền truy cập cần thiết vào hộp Linux để cài đặt công cụ :( Tuy nhiên, tôi thấy toàn bộ điều này cực kỳ bực bội, bởi vì nó hoạt động theo một hướng và nó thất bại theo hướng ngược lại.
Mihai Todor

1

Nếu bạn đang chạy phiên ssh trong tài khoản người dùng (sử dụng chương trình như putty.exe), khi bạn cố gắng đăng nhập qua ndp, nó sẽ phá vỡ kết nối đó khiến phiên thứ 7 bị hỏng. Những gì bạn cần làm là chạy đường hầm ssh như một dịch vụ sẽ không bị gián đoạn.


1
Hấp dẫn. Tôi không có quyền truy cập vào thiết lập đó nữa, vì vậy tôi sẽ không thể kiểm tra lý thuyết của bạn, nhưng thật tuyệt khi có thêm một số chi tiết về điều này cho những người khác đang gặp phải vấn đề tương tự. Bạn có một số tài liệu tham khảo cho yêu cầu của bạn? Bạn có ý nghĩa gì khi kết nối bị Putty phá vỡ?
Mihai Todor

0

tôi nghĩ bạn có thể làm tất cả các conf từ máy tính xách tay của bạn

thiết lập kết nối putty với hộp linux trên máy tính xách tay của bạn. sau đó trong 'kết nối'> 'SSH'> 'đường hầm' đặt 60666 vào trường 'cổng nguồn' và đảm bảo nút radio cục bộ được chọn. trong 'đích', bạn nhập win7-box-name-or-ip: 3389.

lưu tất cả những thứ đó và nó sẽ cho phép bạn mở một phiên putty vào hộp linux tự động tạo lưu lượng chuyển tiếp đường hầm đến localhost (máy tính xách tay của bạn): 60666 để win7: 3389

nếu bạn đang làm điều này trên dòng lệnh thì nó sẽ giống như

ssh -L60666:win7:3389 linux-box

1
Vì vậy, hãy xem ... Cấu hình này sẽ chuyển tiếp cổng 3389 từ PC sang cổng 60666 trên máy tính xách tay. Mặc dù vậy, tôi không thấy nó sẽ hoạt động như thế nào và trong mọi trường hợp, nó sẽ không cho phép tôi làm máy tính từ xa trên máy tính xách tay ... Theo như tôi không thể nói, nó cần phải được thực hiện bằng cách sử dụng 2 hầm.
Mihai Todor

với conf này, bạn không thể truy cập vào localhost: 60666 trên máy tính xách tay của bạn?
bộ

Không, nó không hoạt động.
Mihai Todor

1
Điều đó không hiệu quả. Cách duy nhất tôi có thể làm là trước tiên thiết lập một đường hầm từ hộp linux đến PC ssh 3389:localhost:3389 'domain\user'@PCvà sau đó thực hiện telnet localhost 3389trên hộp Linux.
Mihai Todor

1
Đó là một điểm thú vị, nhưng tôi không chắc là tôi hiểu cái gì đang chặn nó. Tường lửa Windows có một quy tắc cho phép rõ ràng tất cả các kết nối trên cổng 3389 từ miền.
Mihai Todor

0

Tôi thấy rằng trừ khi tất cả người dùng đã đăng xuất hoàn toàn khỏi máy, tôi sẽ nhận được một màn hình trống sau khi nhập thông tin đăng nhập. Vì vậy, hãy chắc chắn rằng bạn luôn Đăng xuất.


2
Thử rất hay, nhưng vẫn không gặp may :(
Mihai Todor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.