Tôi cần thiết lập một cổng chuyển tiếp từ xa tùy ý tới một cổng cục bộ cụ thể khi kết nối với máy chủ. Tôi không có quyền quản trị trên máy chủ, đây là tài nguyên điện toán quan trọng được nhiều người sử dụng. Tôi không thể chọn một số cổng từ xa tĩnh vì tôi không có lý do gì để mong đợi rằng nó sẽ luôn khả dụng.
Tôi đang sử dụng một lệnh như ssh -R 0: localhost: 8001 tên máy chủ
-- sử dụng 0 cho số cổng, để máy chủ từ xa có thể chọn một cổng cho tôi. Điều này hoạt động tốt; khách hàng cho tôi biết số cổng được phân bổ và sau đó tôi có thể sử dụng nó để tạo kết nối trở lại máy của mình (hoặc một máy khác trên mạng của tôi) theo cách thủ công.
Vấn đề là tôi cần viết một số tập lệnh để người khác sử dụng trên hệ thống từ xa và tôi cần một phương tiện để xác định ở đầu từ xa số cổng dành cho phiên đó là gì. Tôi đã xem xét các biến môi trường SSH_* trong phiên và không có biến nào hữu ích. Tôi đã thử xem qua đầu ra của ss -le | grep "uid:$UID"
và điều đó tìm thấy cổng trong số những cổng khác, nhưng có vẻ hơi phức tạp và không thực sự chắc chắn là luôn hoạt động, đặc biệt nếu người dùng tình cờ có các quy trình khác đang chạy, có lẽ trong các phiên đăng nhập khác nhau.
Có cách nào dứt khoát, ít lộn xộn hơn để tìm số cổng chuyển tiếp từ xa được phân bổ động không?
Chỉnh sửa: Tôi mới phát hiện ra đây là một bản sao của bài đăng trước đó, trong đó câu hỏi được hỏi theo các thuật ngữ hơi khác nhau nhưng hoàn toàn giống nhau. Thật không may, tôi không thể sử dụng các giải pháp liên quan đến root hoặc sudo trên máy chủ.
Tôi nhận thấy rằng những gì tôi muốn có thể không thực hiện được theo cách đáng tin cậy -- làm cho việc chọn cổng tự động này trở thành một tính năng ít hữu ích hơn nhiều.