Câu hỏi cổng chuyển tiếp trên Linux mà không có gốc hoặc ssh


Tôi đã tự hỏi liệu có thể nhận được cổng chuyển tiếp mà không bị root hoặc ssh.

Hiện tại tôi làm

ssh -L 20080:othermachine:80 localhost

Sử dụng ssh có thể giúp bạn có được những lợi ích nhất định như tạo đường hầm được mã hóa vv. Trong ví dụ trên, tôi không làm điều đó để sử dụng ssh có vẻ như không cần thiết. Có cách nào dễ hơn để thực hiện việc này không?

Tôi cho rằng không khó để tạo ra một chương trình đọc tất cả dữ liệu trên một ổ cắm và gửi nó đến một ổ cắm khác và ngược lại. Phải có một số công cụ thực hiện công việc đó tốt hơn tôi từng viết.


4
2017-10-03 08:53


gốc


Bạn sẽ không cần root cho ví dụ đó. - Arjan
Tôi nghĩ tôi nên làm rõ hơn là tôi không có vấn đề gì. Nó đã được nhiều hơn mặc dù điều này làm việc, tôi nghĩ rằng phải có các giải pháp khác có thể được tốt hơn. (Đối với phần gốc, tôi sẽ có thể sử dụng cổng chuyển tiếp với iptables, nhưng điều đó sẽ yêu cầu root.) - BlackShift


Các câu trả lời:


tôi cũng thích ssh BECAUSE của mã hóa, nhưng 'socat'nên làm việc tốt cho bạn là tốt.


8
2017-10-03 09:04



Cảm ơn! không bao giờ nghe nói về socat, chương trình này có thể làm nhiều hơn tôi từng hy vọng. Tôi chắc rằng tôi sẽ tìm thấy nhiều công dụng hơn cho nó hơn là chuyển tiếp cổng. - BlackShift


Bạn hỏi: Is there an easier way to do this?  Câu trả lời đơn giản sẽ là 'không'. SSH làm những gì bạn cần, và nó là một chương trình được sử dụng tốt, nổi tiếng, rất hiệu quả (tôi sẽ tưởng tượng) rất ít lỗi, nó có sẵn trên mọi nền tảng bạn có thể tưởng tượng, và nó an toàn để khởi động. Bạn không nói rằng hiệu suất là một vấn đề, vì vậy tôi không thấy lý do tại sao không sử dụng SSH, cá nhân.

Nếu bạn muốn chuyển tiếp một cổng cục bộ đến một cổng trên một máy khác, bạn cần một cái gì đó sẽ xác thực trên máy chủ từ xa đó. Đó là SSH. Nếu bạn chỉ muốn gây rối với các cổng địa phương, thì như đã đề cập, socat có thể chỉ là những gì bạn đang tìm kiếm.


3
2017-10-03 14:35



Không có lý do cụ thể để không sử dụng ssh vào lúc này, nhưng tôi muốn mở rộng bộ sưu tập các công cụ của mình, và socat có vẻ rất mạnh mẽ. (akira là người đầu tiên đề xuất nó, vì vậy tôi đã kiểm tra câu trả lời của mình.) - BlackShift
btw, ba lý do khi ssh không tối ưu: 1) nó không có sẵn (như trên điện thoại của tôi, nhưng tôi nghi ngờ tôi có thể cài đặt socat ở đó), 2) không sshd, hoặc trong trường hợp của tôi một số lượng giới hạn cho phép đăng nhập, 3) không có tài khoản trên máy từ xa (do đó, không thể có đường hầm mã hóa / nén) - BlackShift
Một trường hợp khác mà ssh không tối ưu là khi bạn đang di chuyển một lượng lớn dữ liệu và có khả năng xử lý hạn chế khả dụng. Tải CPU được áp đặt bởi mã hóa của ssh là lớn trong trường hợp này và cũng làm chậm chuyển. Tuy nhiên, điều này không có nghĩa là bạn có thể bỏ qua bảo mật vì lợi ích của hiệu suất, tuy nhiên trong một số trường hợp, lớp bảo mật là không cần thiết (chẳng hạn như bạn đang giao tiếp qua mạng riêng) - wojtow


Nếu những gì bạn đang làm việc, và bạn không nhìn thấy bất kỳ vấn đề hiệu suất, tôi sẽ không thay đổi bất cứ điều gì. Nếu bạn không chuyển một lượng lớn dữ liệu, nó sẽ không có nhiều tác động. Và nếu bạn đang có, ssh có thể nén dữ liệu, vì vậy bạn vẫn có thể tốt hơn.

Vấn đề duy nhất có thể là với độ trễ. Có vẻ như bạn đang đào đường hầm http, vì vậy nó sẽ không đáng kể.


1
2017-10-03 13:48



(Từ man ssh: Nén là mong muốn trên các dòng modem và các kết nối chậm khác, nhưng sẽ chỉ làm chậm mọi thứ trên các mạng nhanh.) - Arjan
Tôi đã thấy điều đó, nhưng không hoàn toàn đồng ý. Nó phụ thuộc vào tốc độ của mạng, tốc độ mạng và lượng dữ liệu được di chuyển. Tôi đã có kinh nghiệm sử dụng nó cho số lượng lớn (nhiều gigabyte) dữ liệu trên các mạng GigE sử dụng các máy chủ nhanh. - KeithB


Chỉ cần một lưu ý nhanh, có vẻ như ncat mà đi kèm với nmap mới 5 có thể làm những việc tương tự như socat: http://nmap.org/ncat/


1
2017-11-30 15:55





Bất cứ công cụ nào bạn sử dụng: khi không sử dụng Windows thì bạn sẽ luôn luôn (và chỉ có) cần phải chạy với đặc quyền superuser khi sử dụng cổng đặc quyền ("cổng nổi tiếng"). Vì vậy: khi sử dụng cổng lên đến và bao gồm 1023.


0
2017-10-03 14:03



chuyển tiếp đến một cổng thấp (đã được lắng nghe) không yêu cầu đặc quyền superuser, chỉ cho cổng chấp nhận (đó là 10080 trong ví dụ của tôi). - BlackShift