Tôi đã sử dụng SSH đường hầm một thời gian trên Windows (sử dụng Putty).
Trên Windows với putty, nó luôn ổn, nhưng trên mac hoặc cygwin, đôi khi nó nhắc thông báo cảnh báo:
open failed: administratively prohibited: open failed
Tôi đã sử dụng SSH đường hầm một thời gian trên Windows (sử dụng Putty).
Trên Windows với putty, nó luôn ổn, nhưng trên mac hoặc cygwin, đôi khi nó nhắc thông báo cảnh báo:
open failed: administratively prohibited: open failed
Câu trả lời:
Tôi tin rằng bạn đã tắt chuyển tiếp TCP trên máy chủ. Trong máy chủ của bạn, /etc/ssh/sshd_config
đảm bảo rằng dòng sau không có mặt hoặc được nhận xét, nếu không hãy nhận xét nó.
AllowTcpForwarding no
AllowTcpForwarding yes
Có một cuộc thảo luận rộng hơn về lỗi này với các đường hầm SSH trên Unix StackExchange. Tóm lại, đây là một lỗi không cụ thể; có rất nhiều khả năng nên được khám phá.
Chỉ dành cho hậu thế, ngay cả khi nó không hữu ích với bạn
Các lỗi được đưa vào bảng điều khiển của bạn thông qua stderr, vì vậy nếu bạn chỉ muốn bỏ qua chúng, thêm 2>/dev/null
vào cuối ssh
cuộc gọi của bạn sẽ hoạt động hoàn hảo. Ví dụ:
ssh -C -D 3210 example@connexion 2>/dev/null
Điều này rất hữu ích nếu đường hầm proxy thực sự hoạt động tốt, nhưng bạn không muốn thấy lỗi.
Trong trường hợp của tôi; cỗ máy tôi đang đào hầm không phải là của tôi, vì vậy tôi không thể sửa đổi sshd_config
(không phải đó là vấn đề của bạn) và tôi cũng sử dụng cùng một liên kết cho vỏ. Việc các thông báo lỗi đó được ghi vào bảng điều khiển của tôi trong cửa sổ vim mở sẽ khiến màn hình hiển thị khá khó chịu.
open failed: administratively prohibited: open failed
đang được xuất ra thành stderr, "trên mac hoặc cygwin", bạn có thể ẩn cảnh báo này (cảnh báo về việc không thực sự phá vỡ bất cứ điều gì) bằng cách gửi văn bản đó thành null (gắn 2>/dev/null
vào lệnh). Điều này hoàn toàn trả lời câu hỏi, đặc biệt là nếu bạn không có quyền truy cập quản trị viên vào máy khác để khắc phục sự cố cơ bản