Làm cách nào để kết nối với phiên SSH được nền với -f -N?


7

Tôi đang thực hiện một số công việc mà tôi cần phải tắt máy bằng proxy vì vậy tôi đang kết nối với hệ thống và ràng buộc một cổng cục bộ như vậy ...

ssh -f -N -D 9000 user@host.com

Có thể đưa tôi trở lại dấu nhắc lệnh của tôi sau khi mở kết nối. Sau đó tôi có thể sử dụng một cái gì đó như proxy để chạy các lệnh thông qua host.com.

Câu hỏi của tôi là: Làm thế nào tôi có thể kết nối / tương tác với cùng một phiên để tôi có thể nhận được một vỏ từ xa trên host.com? Cách tôi đang làm bây giờ là mở một phiên ssh khác với một cách đơn giản ssh user@host.com, nhưng tôi nghĩ rằng phải có một cách để sử dụng phiên đầu tiên mà tôi đã mở.

Câu trả lời:


11

Nếu nó không được tạo với tính năng ghép kênh, bạn không thể.

Lần tới, bắt đầu phiên nền như thế này:

ssh -f -N -M -S ~/.ssh/S.user@host.com -D 9000 user@host.com

Đây -M cho phép chế độ tổng thể ghép kênh và -S đặt đường dẫn ổ cắm.

Bây giờ bạn có thể sử dụng ssh -S ~/.ssh/S.user@host.com dummyhost để mở phiên thứ hai trên cùng một kết nối. Có thể kiểm soát chủ bằng cách cho -O exit, -O checkvà nhiều lựa chọn khác (Thật đáng buồn, -O forward là một bổ sung rất gần đây.)

Để thực hiện điều này tự động, bạn có thể sử dụng các tùy chọn sau trong .ssh/config:

Host *
    ControlPath ~/.ssh/S.%l.%r@%h:%p
    ControlMaster auto
    ControlPersist 10m

Cài đặt ControlPath có nghĩa là bạn không cần chỉ định -S mỗi lần.

Cài đặt ControlMaster auto có nghĩa là mọi kết nối mới sẽ tự động tiếp tục ở chế độ nền dưới dạng tổng thể ghép kênh. (Không có nó, bạn vẫn có thể bắt đầu những bậc thầy mới với ssh -fNM host ).

Cài đặt ControlPersist 10m có nghĩa là các bậc thầy tự động sẽ tồn tại trong vòng 10 phút khi họ không có bất kỳ phiên hoạt động nào. (Đây là một tùy chọn được thêm gần đây.)

Lưu ý rằng việc chuyển hàng loạt qua kết nối ghép kênh sẽ khiến các phiên tương tác trở nên rất chậm ...


0

Để lại các tham số -f (Nền SSH) và -N (Không thực thi lệnh từ xa), vì vậy hãy sử dụng

ssh -D 9000 user@host.com

Điều này sẽ bắt đầu một phiên SSH mới khác cũng sẽ cố gắng chuyển tiếp cổng tới cổng của máy cục bộ 9000. Nó sẽ đưa ra cảnh báo về việc không thể liên kết với cổng 9000 nếu đã có một phiên SSH khác mở mà tôi tin là trường hợp sử dụng của OP trông như thế nào.
Tuxdude
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.