Câu trả lời này dựa trên câu trả lời được chấp nhận, nhưng thêm các chi tiết cho phép tôi hoàn thành nó. Tôi xin lỗi vì lời giải thích của người đi bộ, vì đây không phải là chuyên môn của tôi.
Giả sử bạn có hai máy tính, A
và B
. Bạn muốn ssh
từ A
đến B
và bạn không thể thực hiện bất kỳ chuyển tiếp cổng nào trong các bộ định tuyến được kết nối với chúng.
Như câu trả lời được chấp nhận, bạn cần một máy chủ S
để thực hiện việc này: trong máy tính B
, bạn sẽ cho phép các ssh
kết nối đến từ S
; và từ máy tính A
, bạn sẽ truy cập vào đường hầm đó S
để tiếp cận B
.
Nhưng làm thế nào để bạn có được máy chủ đó S
? Tôi tìm thấy serveo
(liên kết: https://serveo.net/ ). Nó được sử dụng rất đơn giản. Bạn không phải cài đặt bất cứ thứ gì hoặc đăng ký và nó là miễn phí. Theo trang web, các bước để làm theo là:
Hãy nghĩ về một bí danh cho máy tính B
. Ví dụ , computer_B_alias
.
Trong máy tính B
, thực thi ssh -R computer_B_alias:22:localhost:22 serveo.net
.
Bây giờ, bạn có thể truy cập máy tính B
từ máy tính A
bằng cách thực hiện các thao tác sau trong máy tính A
: ssh -J serveo.net user@computer_B_alias
, nơi bạn phải thay thế user
bằng tên của người dùng trong máy tính B
.
PS: Tất nhiên, bạn biến điểm 2 thành một nhiệm vụ tự động khi khởi động máy tính của mình B
.
PSS: Trước khi bạn thử điều này, hãy đảm bảo rằng nó đã ssh
được cài đặt trong cả hai máy tính. Đối với Ubuntu, sudo apt-get install ssh
sẽ thực hiện công việc.