Tôi đã sử dụng ssh -L 10002:192.168.0.30:10002 192.168.1.135
để thiết lập chuyển tiếp cổng nhưng bây giờ tôi cần phải loại bỏ nó.
Làm thế nào để tôi làm điều này?
Tôi đã sử dụng ssh -L 10002:192.168.0.30:10002 192.168.1.135
để thiết lập chuyển tiếp cổng nhưng bây giờ tôi cần phải loại bỏ nó.
Làm thế nào để tôi làm điều này?
Câu trả lời:
Nếu bạn đang sử dụng Linux, bạn có thể tắt tiến trình bằng cách:
ps aux | grep ssh
và sau đó sử dụng
kill <id>
Để giết quá trình.
Nếu lệnh kill không thành công, bạn có thể thử
kill -9 <id>
kill -9
cho đến khi bạn đã thử kill
. Nhiều quy trình sẽ có các trình xử lý tín hiệu sẽ dọn sạch việc sử dụng tài nguyên của chúng, kết nối chặt chẽ và các tác vụ trước khi tắt máy khác. Nếu bạn giết bằng -9, quy trình sẽ chết ngay lập tức mà không cần dọn dẹp. Giết mà không có -9 sẽ làm việc hầu hết thời gian.
kill -9
không có lý do giống như sử dụng một khẩu súng ngắn để giết một con muỗi. :)
pgrep ssh | xargs kill
. Đừng sử dụng -9
cho bất cứ điều gì thực sự
ssh
lệnh duy nhất hoặc tất cả các ssh
lệnh bạn đang chạy đều ổn để giết. Đây không phải là một giả định chung tốt.
ssh
phiên bản trên nhiều máy chủ từ xa, một số trong số chúng không có sự tham gia tích cực trực tiếp của tôi. Ví dụ, chế độ Emacs Tramp mở một ssh
kết nối phía sau hậu trường khi tôi truy cập bộ đệm từ xa. Một số người sử dụng hệ thống tập tin không gian người dùng làm điều gì đó tương tự. Nó hoàn toàn không phổ biến. Trong thực tế, tôi sẽ giả sử một người dùng, một ssh
trường hợp duy nhất là một trường hợp sử dụng rìa thiểu số. Nếu nó hiệu quả với bạn, tốt cho bạn, nhưng đó không phải là lời khuyên chung chung.
Khi sử dụng ghép kênh ssh, việc hủy quá trình ssh thường là điều không mong muốn (nó sẽ giết tất cả các kết nối mở với máy chủ đó) và bạn không thể dễ dàng truy cập vào lối thoát vì "thoát không có sẵn cho các phiên ghép kênh". Cách đúng là sau đó chạy tương tự lệnh chuyển tiếp mà bạn muốn hủy, nhưng thêm vào -O cancel
. Ví dụ:
ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135
Điều này sẽ vô hiệu hóa cổng chuyển tiếp này mà không kết thúc phiên. Một lần nữa, điều này sẽ chỉ hoạt động nếu ghép kênh ssh được sử dụng cho kết nối tới 192.168.1.135 .
ssh -O exit 192.168.1.135
.
Cách hủy cổng chuyển tiếp trong phiên SSH đã chạy:
-KL port
Bạn nên xem thứ này:
ssh> -KL 10002
Canceled forwarding.
Bạn có thể sử dụng "phím thoát" (thường là ~) theo sau là C để lấy thông tin kết nối. Bạn có thể từ đó loại bỏ các đường hầm mà không làm mất kết nối của bạn.
Bạn có thể nhập bảng điều khiển tương tác bằng cách nhập ~C(viết hoa "C"). Điều này cho phép bạn tự động thêm và xóa chuyển tiếp cổng (trong số một số thứ khác).
Trình tự này phải đến ngay sau khi trở về vận chuyển / dòng mới. Vì vậy, trong nghi ngờ, chỉ cần gõ Enter~C(theo trình tự).
Nếu bạn không thấy các ký tự xuất hiện trên bảng điều khiển, bạn đang làm đúng :)
Bây giờ bạn sẽ thấy một ssh>
dấu nhắc.
Để xóa cổng, chỉ cần nhập -KL 10002
theo sau Enter( 10002
cổng chuyển tiếp của bạn ở đâu ).
Nghịch đảo - thêm một chuyển tiếp mới - có thể được thực hiện như thế này (từ đầu đến cuối):
Enter~C
ssh> -L 10002:192.168.0.30:10002
Enter
~C escape not available to multiplexed sessions
. Nếu đó là trường hợp, xem câu trả lời tuyệt vời của a3nm.
Warning: remote port forwarding failed for listen port
thông báo.