Tôi đã tạo một cổng SSH chuyển tiếp cục bộ trên một máy từ xa:
ssh -N -L 127.0.0.1:3388:127.0.0.1:22 máy chủ cục bộ
nó hoạt động trên chính máy từ xa:
telnet localhost 3388
lợi nhuận
Đang thử 127.0.0.1...
Đã kết nối với 127.0.0.1.
Ký tự thoát là '^]'.
SSH-2.0-OpenSSH_7.4
Tuy nhiên, khi tôi sử dụng chuyển tiếp này từ máy cục bộ:
telnet từ xa.ip 3388
nó thất bại:
Đang thử remote.ip...
telnet: Không thể kết nối với máy chủ từ xa: Kết nối bị từ chối
Mọi người có thể nghĩ rằng cổng 3388 của máy từ xa bị chặn bởi tường lửa hoặc thứ gì đó từ mạng, vì vậy tôi đã tắt chuyển tiếp SSH và kiểm tra máy chủ http nghe trên cổng 3388 trên máy từ xa:
python3 -m http.server 3388
sau đó tôi kết nối với cổng này từ máy cục bộ của mình:
telnet từ xa.ip 3388
Kết quả cho
Đang thử remote.ip...
Đã kết nối với remote.ip.
Ký tự thoát là '^]'.
từ bỏ
<!DOCTYPE HTML CÔNG KHAI "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<đầu>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Phản hồi lỗi</title>
</head>
<body>
<h1>Phản hồi lỗi</h1>
<p>Mã lỗi: 400</p>
<p>Thông báo: Cú pháp yêu cầu sai ('thoát').</p>
<p>Giải thích mã lỗi: HTTPStatus.BAD_REQUEST - Cú pháp yêu cầu sai hoặc phương thức không được hỗ trợ.</p>
</body>
</html>
Kết nối bị đóng bởi máy chủ nước ngoài.
có nghĩa là cổng 3388 trên máy từ xa có thể truy cập được vào máy cục bộ của tôi. Vậy tại sao cả chuyển tiếp SSH và mạng đều hoạt động bình thường theo từng cá nhân, nhưng lại thất bại khi chúng được kết hợp? Ai đó biết làm thế nào để khắc phục điều này? Cảm ơn.