SSH trở lại máy cục bộ từ phiên SSH từ xa


12

Tôi đang cố gắng làm điều gì đó khác thường (đối với tôi bằng mọi cách) với SSH và tôi không thể làm cho nó hoạt động được, hy vọng bạn có thể giúp đỡ.

Tôi muốn thiết lập kết nối đến máy chủ từ xa bằng máy Mac của mình bằng SSH. Càng xa càng tốt. Bây giờ là một mẹo nhỏ, với kết nối đến máy chủ từ xa được thiết lập, sau đó tôi muốn bắt đầu một kết nối từ máy chủ từ xa BACK đến máy cục bộ. Tôi biết, điên rồi. Về cơ bản, tôi cần phải nhảy qua các vòng này để có thể duyệt máy chủ từ xa và sau đó gửi thông tin tệp về máy cục bộ của mình để có thể xử lý bằng một ứng dụng trên máy cục bộ. Hy vọng rằng có ý nghĩa!

Hiện tại, nếu tôi SSH trở lại máy cục bộ sau khi tôi đăng nhập vào máy chủ từ xa, thiết bị đầu cuối sẽ chỉ ngồi đó quay vòng, không có lỗi ngay cả với -v.

Tôi đang cố gắng khám phá nơi tôi nên gọi bằng cách xem đầu ra của biến $ SSH_CLIENT, nhưng tôi đang kết nối internet vanilla tiêu chuẩn (không có địa chỉ IP tĩnh) Tôi nghĩ rằng đây có thể là nguyên nhân gây ra sự cố.

Những điều tôi đã thiết lập: Tôi đang dùng Mac (OS X 10.6.4) và tôi đã bật Đăng nhập từ xa trong tùy chọn / chia sẻ hệ thống Nếu tôi thử và SSH vào máy Mac của mình từ một máy khác trên mạng LAN, tôi có thể kết nối không gặp vấn đề gì. Nếu tôi thử và SSH vào một máy chủ khác (không phải máy cục bộ của tôi) từ máy chủ từ xa, tôi có thể kết nối mà không gặp vấn đề gì.

Vì vậy, những sự thật ở trên khiến tôi nghĩ rằng tôi rõ ràng liên quan đến tường lửa, vv trên các máy cục bộ và từ xa.

Tôi chắc chắn tôi phải thiếu một cái gì đó khá rõ ràng ở đây, nhưng đối với cuộc sống của tôi, tôi không thể xử lý nó.

Bất kỳ trợ giúp, liên kết hoặc khỏa thân nói chung theo đúng hướng sẽ được đánh giá rất cao!


Bạn có thể duyệt máy chủ từ xa với ssh. Hay bạn cố gắng sử dụng afs? Làm thế nào về portforwardings và / hoặc sftp / scp?
Andreas Rehm

Chào bạn Có, tôi có thể kết nối và duyệt cấu trúc thư mục của máy chủ từ xa mà không gặp vấn đề gì. Tôi không chắc ý của bạn là gì, xin lỗi. Về cơ bản kế hoạch là thế này: Tôi muốn ssh vào máy chủ Linux từ xa của mình từ máy Mac cục bộ, duyệt tìm tệp và sau đó có thể chuyển ngược lại kết nối đã thiết lập (hoặc tạo kết nối mới dựa trên kết nối đã được thiết lập) để máy cục bộ nơi ứng dụng Mac sẽ đọc / chỉnh sửa dữ liệu trước khi gửi lại cho máy chủ. Tôi không đặc biệt lo lắng về cách tôi đạt được điều này liên quan đến các giao thức khác.
i0n

Câu trả lời:


9

Nếu khi bạn kết nối trở lại địa phương, nó cho phép bạn đăng nhập trước khi treo, thì đây không phải là câu trả lời. Nếu bạn không đi xa đến thế, có lẽ bạn sẽ không quay lại với máy Mac của mình (không nhận được bất cứ nơi nào hoặc nhấn SSH trên một cổng). Hãy thử một đường hầm ngược (nó sẽ yêu cầu Cổng kết nối được đặt thành Bật trong sshd_config trên máy chủ của bạn, nhưng tôi tin rằng đây là mặc định):
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
Điều đó sẽ cho phép bạn kết nối với máy chủ như bình thường, nhưng cũng mở một đường hầm để bạn có thể kết nối lại cổng 2000 (bất kỳ cổng nào trên 1024 sẽ hoạt động), vì vậyyou@yourserver$ ssh -p2000 user@localhost

EDIT: Thay đổi tên máy chủ thành localhost


2
Bạn phải sử dụng user @ localhost trong lệnh cuối cùng
b0fh

1
Điều này rất hữu ích, nó gần như đưa tôi đến nơi tôi muốn ở! Tôi có thể thiết lập kết nối với đường hầm ngược như trên và sau đó ssh trở lại máy Mac cục bộ của mình bằng ssh -p 2000 i0n @ localhost. Vậy làm thế nào tôi có thể đạt được điều này mà không cần biết trước rằng tôi cần chức năng này? Nói cách khác với một kết nối ssh hiện có và tiêu chuẩn. Điều này có thể không?
i0n

Cảm ơn b0fh, tôi đang trên đường đi ngủ vì tôi đã viết rằng =) i0n - theo bản năng tôi muốn nói rằng bạn không thể sửa đổi một kết nối hiện có để làm điều này, nhưng PuTTY có thể làm điều đó nên phải có cách. Bạn luôn có thể gửi kết nối SSH mới với một đường hầm khi bạn cần quay lại, nhưng tôi đoán điều này sẽ được thực hiện theo chương trình để có thể không phải là một lựa chọn. Tra cứu Mong đợi - nếu bất kỳ ngôn ngữ nào có thể sẵn sàng qua SSH thì đó sẽ là ngôn ngữ đó.
James L

2

Là máy cục bộ của bạn có thể truy cập từ máy chủ? Bạn có thể ping nó không? Tôi đang hỏi điều đó bởi vì những gì bạn đang làm sẽ hoạt động nếu máy của bạn có thể truy cập được. Máy chủ của bạn đang ở trên internet hoặc trong mạng LAN, cùng một mạng con?

Dù sao, nếu bạn chỉ cần chỉnh sửa một tệp, tại sao bạn không sử dụng scp để sao chép tệp vào máy cục bộ của mình? Bạn có thể sử dụng ssh để duyệt tìm tệp trên máy chủ từ xa và khi bạn có đường dẫn của nó, hãy nhập vào máy cục bộ của bạn (trong một thiết bị đầu cuối khác):

scp user@server:/path/to/file/on/server /local/path/to/save/file

Để đặt lại tệp, scp lại chuyển đổi đường dẫn.

Quan sát: bạn không cần kết nối ssh ban đầu để sử dụng scp - nó sẽ tạo một kết nối mới

Đây là nếu bạn cần truy cập nó trong thiết bị đầu cuối. Trên linux (và chắc chắn là trên Mac nhưng tôi không biết cách thực hiện), bạn có thể gắn một vị trí từ xa ssh trong Mạng và sử dụng kết nối khi bạn sử dụng đĩa cục bộ (đây là sftp và kết nối có dạng: sftp://user@server:/path/to/mountvà tôi đoán đây là những gì bạn cần thay vì kết nối thiết bị đầu cuối từ xa để bạn có thể chỉnh sửa tệp trực tiếp bằng ứng dụng Mac.


1

Bạn cũng có thể muốn xem qua sshfs(bạn cần MacFuse cho việc này). Điều này cho phép bạn gắn các thư mục trên máy từ xa và truy cập chúng giống như các thư mục thông thường trên máy của bạn. Trên hết, bạn vẫn có thể sshvào máy và tạo / tìm kiếm các tập tin bạn cần. Chuyển chúng sau đó sẽ dễ dàng như chuyển tập tin cục bộ.

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.