Tôi biết cách kết nối 'với' một cổng nhất định khi ssh'ing.
ssh user@remotehostip -p XXX
nhưng có cách nào để thiết lập một ssh 'với' một cổng nhất định không?
Ý tôi là, có cách nào để xác định cổng mà máy tính cục bộ của tôi sẽ sử dụng không?
Tôi biết cách kết nối 'với' một cổng nhất định khi ssh'ing.
ssh user@remotehostip -p XXX
nhưng có cách nào để thiết lập một ssh 'với' một cổng nhất định không?
Ý tôi là, có cách nào để xác định cổng mà máy tính cục bộ của tôi sẽ sử dụng không?
Câu trả lời:
Điều đó không dễ dàng có thể. Làm thế nào điều đó có thể được thực hiện tùy thuộc vào vị trí của cổng nguồn: Địa phương cũng vậy, hoặc là đủ nếu đó là cổng bên phải theo quan điểm của mạng bên ngoài?
Bạn có thể chạy ứng dụng khách SSH trong bộ chứa LXC. Tôi chưa bao giờ làm điều đó do đó tôi không thể giải thích chi tiết cho bạn. Nhưng bạn tạo một giao diện mạng ảo và gắn nó vào thùng chứa này để ssh
sử dụng giao diện này vì đây là giao diện (bên ngoài) duy nhất mà nó nhìn thấy.
Trên hệ thống máy chủ, có thể phát hiện ra rằng một gói đến từ giao diện này. Do đó, bạn có thể sử dụng NAT (SNAT) của Netfilter để viết lại địa chỉ nguồn với nội dung như sau:
iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234
Tất nhiên, điều này không hoạt động (hoặc trở nên phức tạp hơn) nếu bạn kết nối với các cổng khác với 22.
sshfs
và ai đó nói rằng nó hoạt động với lệnh này, nhưng tôi không tin nó. Nếu bạn tìm thấy câu trả lời, xin vui lòng cho chúng tôi biết :)!
Cú pháp lệnh bạn đang tìm kiếm có lẽ là đây. ssh -p XXX user @ remotehostip Bạn phải thay đổi thứ tự tùy chọn. Hãy thử nó ngay bây giờ, nó làm việc cho tôi. Trân trọng.
Một giải pháp đơn giản cho việc này nếu bạn chuyển tiếp cổng qua bộ định tuyến của mình là đặt cổng vào thành bất cứ điều gì bạn muốn và cổng cục bộ thành 22. Máy của bạn vẫn sẽ kết nối ssh trên 22 như bình thường nhưng thực sự kết nối từ bên ngoài mạng của bạn bạn sẽ sử dụng cổng vào của bạn. Nếu bạn chỉ đang cố gắng ngăn chặn bot làm hỏng máy của bạn vào ngày 22 thì điều này sẽ làm điều đó.
Điều này có thể không giúp ích cho vấn đề cụ thể của bạn nhưng tôi sẽ tưởng tượng rất nhiều người kết thúc ở đây vì lý do này.
Tôi đã đề xuất một tùy chọn port -um ...
Nguồn tại đây: https://github.com/Zibri/openssh-portable
Và đây là yêu cầu kéo: https://github.com/openssh/openssh-portable/pull/130