Tôi có một kịch bản cụ thể mà tôi muốn giải quyết. Tôi hiện kết nối đến một máy chủ thông qua cổng chuyển tiếp:chuyển tiếp cổng ssh (đường hầm) trong linux
laptop -> gateway -> remote_server_1
và host khác:
laptop -> remote_server_2
với mật mã đăng nhập làm việc trên cả hai. Cả hai máy chủ từ xa đều không hiển thị với thế giới bên ngoài. Bây giờ tôi đang chạy một dịch vụ trên remote_server_2, mà tôi muốn để có thể truy cập trên remote_server_1. Tôi đoán tôi phải thiết lập chuyển tiếp cổng đảo ngược từ remote_server_1 để máy tính xách tay của tôi, và sau đó vào remote_server_2, nhưng tôi không chắc chắn làm thế nào để làm điều này. Bất cứ ai đi qua tình trạng này trước đây?
Edit: Các giải pháp đầy đủ trong trường hợp bất cứ ai khác cần nó:
mylaptop$ ssh -L 3001:localhost:3000 server_2
server_2$ netcat -l 3000
Sau đó thiết lập đường hầm qua gateway
-server_1
:
ssh -t -t -L 3003:server_1:22 gateway
Sau đó truy cập nó từ server_1
:
ssh -R 3002:localhost:3001 -p3003 localhost
echo "bar" | nc localhost 3002`
và hey presto server_2
hiển thị bar
:-)
Điều này gần như hoạt động, ngoại trừ tôi cũng phải đi qua đường hầm đến máy chủ_1. Vì vậy, nếu tôi làm: mylaptop $ ssh -L 3003: cổng: 3002 server_1 và mylaptop $ ssh -R 3003: localhost: 3000 -p3003 localhost tôi trên đường phải không? Helpfully server_1 không có netcat trên nó (Tôi không có quyền quản trị trên cái đó) – tdc
Xin lỗi vừa nhận ra netcat là nc trên đó. Dù sao nó vẫn chưa hoàn toàn hoạt động. – tdc
Tôi sẽ cung cấp cho bạn câu trả lời được chấp nhận, vì nó đã cho tôi đủ manh mối để tiếp tục - câu trả lời đầy đủ trong bản chỉnh sửa của tôi. – tdc