Làm thế nào để ssh hai máy tính phía sau NAT và Tường lửa, không có máy tính thứ ba


9

Tôi đang cố gắng để ssh vào hộp Linux của tôi ở nhà. Nhà tôi là một môi trường kiểu ký túc xá - NAT và Tường lửa với máy tính xách tay cá nhân chạy Arch Linux. Công việc của tôi là Windows 7 - NAT và tường lửa proxy, không có quyền quản trị.

Tôi có thể kết nối hai trình xem Team Portable đang chạy. Tuy nhiên, điều này không phù hợp với những gì tôi thực sự tìm kiếm. Tôi đang tìm cách đơn giản SSH vào hộp Linux của tôi ở nhà, để hộp Linux của tôi đăng xuất hoàn toàn - về cơ bản là không đầu khi tôi không ở đó.

Tôi đã đọc về đường hầm, tuy nhiên nếu tôi hiểu đường hầm chính xác thì tôi cần một máy chủ bên thứ 3 mà cả hai máy tính có thể kết nối. Tôi không có máy chủ như vậy và cũng không muốn trả tiền cho một thứ như vậy.


Giải pháp đơn giản và an toàn để SSH vào máy tính xách tay của tôi từ nơi làm việc là gì? Có 'máy chủ thứ ba' miễn phí và an toàn không? Tôi đã lên và xuống Google, nhưng dường như càng ngày càng bối rối.


2
Bạn có quyền truy cập vào bộ định tuyến? Bạn thường cần điều chỉnh cài đặt NAT để trỏ địa chỉ IP công cộng của bạn vào máy chủ SSH nội bộ của bạn để làm một cái gì đó như thế này.
jmreicha

Không, tôi không có quyền truy cập bộ định tuyến và không thể điều chỉnh cài đặt NAT.
dùng1026169

Sau đó, trong trường hợp này, bạn có thể sẽ phải ủy quyền qua máy chủ thứ ba để kết nối nếu tùy chọn Team Viewer không hoạt động.
jmreicha

Ai cung cấp máy chủ mà tôi chỉ có thể sử dụng làm proxy cho ssh?
dùng1026169

Tôi đặt cược một VPS dựa trên đám mây sẽ thực hiện thủ thuật.
jmreicha

Câu trả lời:


16

pwnat là một công cụ nguồn mở được cho là giải quyết vấn đề này. Nó nói rằng :

pwnat là một công cụ cho phép bất kỳ số lượng khách hàng nào phía sau NAT giao tiếp với một máy chủ đằng sau một NAT riêng biệt không có chuyển tiếp cổng và không thiết lập DMZ trên bất kỳ bộ định tuyến nào để giao tiếp trực tiếp với nhau. Máy chủ không cần biết gì về các máy khách đang cố gắng kết nối.

Không có người trung gian, không có proxy, không có bên thứ 3, không yêu cầu UPnP / STUN / ICE, không giả mạo và không có thủ thuật DNS.

Quan trọng hơn, máy khách sau đó có thể kết nối với bất kỳ máy chủ hoặc cổng nào trên bất kỳ máy chủ từ xa nào hoặc đến một máy chủ và cổng cố định do máy chủ quyết định.

pwnat thiết lập loại kết nối này:

Máy A (IP: 192.168.1.3) -> NAT A (IP: 122.xxx) -> Internet -> NAT B (IP: 59.xxx) -> Máy B (192.168.2.10)

pwnat chỉ được phân phối cho Linux, nhưng bài viết PWNAT: Phiên bản tuân thủ Windows có chứa phiên bản Windows . Xem thêm, bởi cùng tác giả PWNAT: Ví dụ .

Phương pháp được sử dụng bởi pwnat là thông minh không thể tin được, nhưng không có gì đảm bảo rằng nó sẽ hoạt động với môi trường của bạn.


1
Lưu ý: pwnat phụ thuộc vào ICMP để hoạt động. Cụ thể, icmp echo và Time vượt quá tin nhắn. Điều này hoạt động vì ICMP là không quốc tịch.
Shadowbq

Không làm việc cho tôi. Các bộ định tuyến NAT không đủ thông minh để thực hiện các tiêu chuẩn, cũng không đủ thông minh để hiểu tác giả pwnat. +1 vẫn cho sự thông minh.
lượng tử

Tôi cũng đã thử pwnat nhưng không thành công. Nhưng có thể tôi có một cái gì đó sai trong cấu hình của tôi. Có ai đã thành công có thể cung cấp hỗ trợ?
cướp

5

Cá nhân tôi nghĩ rằng đường hầm là lựa chọn tốt nhất của bạn, mặc dù bạn chưa sở hữu máy chủ thứ ba.

Amazon EC2 cung cấp tùy chọn giá miễn phí Cấp cho phép khách hàng mới chạy phiên bản vi mô của Linux / Windows trong tối đa 750 giờ / tháng, miễn phí trong một năm. Tôi đã không sử dụng dịch vụ cho mình nhưng giả sử rằng nếu bạn chỉ chạy máy chủ ảo khi cần, bạn sẽ có một đường hầm SSH và chạy miễn phí. Bạn thậm chí có thể tìm thấy dịch vụ đủ rẻ để đảm bảo trả tiền cho?

Hak5 đã giới thiệu tốt về đường hầm (với sự kiên trì). Bạn cũng có thể thiết lập tập lệnh kích hoạt CRON để thử kết nối với máy chủ ảo để bạn có quyền truy cập vào máy tính xách tay trong vòng vài phút kể từ khi bắt đầu phiên bản EC2 ...


Cảm ơn bạn, tôi đã tìm thấy một VPS miễn phí với một số trợ giúp từ một vài diễn đàn.
dùng1026169

1
Cũng lưu ý, 750 giờ là 31,25 ngày ... Vì vậy, về cơ bản, bạn nhận được một t2.microví dụ miễn phí trong một năm.
Attie

3

Tùy chọn tốt nhất sẽ được thiết lập chuyển tiếp cổng nếu bạn có thể, nhưng nếu trường của bạn thực hiện tường lửa và bạn không thể tự mình chuyển tiếp cổng thì hãy sử dụng đề xuất này.

Có, có một máy chủ thứ 3 miễn phí và bạn đã sử dụng nó, TeamViewer. Đảm bảo rằng bạn đã cài đặt TeamViewer như một dịch vụ (hoặc bất cứ thứ gì tương đương với Linux, tôi chỉ sử dụng phiên bản windows). Sau đó cài đặt trình điều khiển VPN tại nơi làm việc và ở nhà. Sau đó, bạn sẽ có thể kết nối bằng VPN từ công việc và máy chủ của bạn sẽ có địa chỉ IP 7.xxx. Sau đó, nếu bạn muốn tham gia vào một phiên cuối, hãy chạy SSH qua liên kết VPN.

Tùy chọn cài đặt VPN nằm trong cài đặt nâng cao. nhập mô tả hình ảnh ở đây

Điều đó sẽ thêm tùy chọn "VPN" cho các loại kết nối bạn có thể làm. nhập mô tả hình ảnh ở đây


1
Cảm ơn rất nhiều vì sự giúp đỡ chi tiết và ảnh chụp màn hình. Tôi đang sử dụng TeamViewer di động và không có quyền quản trị. Tùy chọn VPN bị mờ đi và tôi không thể sử dụng nó.
dùng1026169

1

Bạn chỉ có thể thiết lập chuyển tiếp cổng (cổng 22) trên bộ định tuyến / tường lửa gia đình. Và sau đó kết nối với địa chỉ IP công cộng tại nhà của bạn khi bạn đang làm việc. Bạn có thể sử dụng một cái gì đó như dyndns nếu bạn không có ip công khai tĩnh tại nhà.


Không thể chuyển tiếp cổng trên một trong hai máy của tôi do mạng phục vụ chúng. Tôi có thiết lập không có ip, tuy nhiên không có cổng nào tôi có thể sử dụng để kết nối các máy.
dùng1026169

0

Bạn có thể sử dụng máy chủ XMPP / Tox công khai làm "máy chủ thứ ba". Cụ thể, có những dự án như TuntoxPPPoAT (PPP trên Any Transport), sử dụng các giao thức nhắn tin tức thời này làm lớp vận chuyển.

Tôi đã thử PPPoAT, hỗ trợ XMPP và, không giống như PWNAT, cơ chế này thực sự hoạt động với tôi.

Để sử dụng nó, bạn cần hai tài khoản XMPP trên bất kỳ máy chủ công cộng nào - một tài khoản cho máy chủ bạn muốn đăng nhập, một tài khoản cho khách hàng của bạn. Sau khi bạn khởi động pppoattrên máy chủ, sau đó trên máy khách (cả hai đều có tham số cấu hình phù hợp), bạn có thể ngay lập tức bắt đầu kết nối như vd

ssh username@10.0.0.2

Tất nhiên, nó sẽ chậm hơn kết nối trực tiếp và tốc độ rất có thể sẽ phụ thuộc vào máy chủ XMPP mà bạn chọn, nhưng đối với hoạt động của bàn điều khiển thông thường thì đủ tốt.

Về bảo mật, SSH có thể hoạt động trong mạng hoàn toàn không an toàn, vì nó đã thực hiện mã hóa riêng, do đó, liệu kết nối dựa trên XMPP có an toàn hay không thực sự không liên quan khi bạn sử dụng SSH.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.