SSH thông qua proxy
Nếu tường lửa cho phép bạn, bạn có thể chạy ssh đến bất kỳ cổng nào, nhưng điều đó đòi hỏi máy chủ ssh phải lắng nghe trên cổng đó. Cổng 80 dường như không hoạt động, bởi vì hầu hết các địa điểm có tường lửa đều phân tích lưu lượng truy cập trên cổng đó và chặn mọi thứ không phải là HTTP. Nhưng cổng 443, thường là cổng HTTPS, thường hoạt động, vì SSH và HTTPS trông rất giống nhau để lọc phần mềm, vì vậy phiên SSH của bạn sẽ trông giống như phiên HTTPS. (Có thể phân biệt HTTPS và SSH, vì vậy điều này sẽ không hoạt động nếu tường lửa đủ tinh vi.)
Nếu bạn có quyền kiểm soát máy chủ, hãy làm cho nó lắng nghe trên cổng 443 ngoài 22 (cổng ssh bình thường). Bạn có thể định cấu hình cổng trong /etc/ssh/sshd_config
: thêm một dòng
Port 443
ngoài những thứ Port 22
đó nên có Lưu ý rằng điều này giả định rằng máy chủ ssh không phải là máy chủ HTTPS. Nếu đúng như vậy, bạn sẽ cần tìm một cổng khác mà tường lửa cho phép bạn sử dụng hoặc tìm máy chủ ssh khác (xem chuyển tiếp bên dưới).
Nếu bạn không cần đặt proxy web trong trình duyệt web của mình, thì bạn có thể thử kết nối trực tiếp:
ssh -p 443 myserver.example.com
Nếu nó hoạt động, xác định một bí danh trong ~/.ssh/config
:
Host myserver
HostName myserver.example.com
Port 443
Nếu bạn cần đặt proxy web trong trình duyệt web của mình, hãy báo cho ssh đi qua proxy. Cài đặt nút chai . Xác định một bí danh như thế này trong đó ~/.ssh/config
, nơi http://proxy.acme.com:3128/
bạn sử dụng proxy cho HTTPS ở bên ngoài (thay thế bằng tên và cổng máy chủ phù hợp):
Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p
SSH qua SSH
Nếu bạn có thể đến một số máy bên ngoài bằng một trong các kỹ thuật trên nhưng không phải với máy bạn quan tâm, hãy sử dụng nó để chuyển tiếp kết nối. Giả sử bạn có thể ssh đến một máy được gọi mygateway
và bạn muốn truy cập máy chủ SSH mytarget
, cài đặt netcat-openbsd trên mygateway
(hoặc, nếu nó không chạy Ubuntu, hãy đảm bảo rằng nó có nc
lệnh). Đặt cái này trong ~/.ssh/config
:
Host mytarget
ProxyCommand ssh mygateway nc %h %p
SSH sang Apache
Nếu máy chủ bạn muốn kết nối đang chạy Apache và nghe trên cổng 443 và bạn có quyền kiểm soát máy chủ đó, bạn có thể thiết lập Apache này để chấp nhận kết nối SSH và chuyển tiếp chúng. Xem SSH đường hầm qua HTTP (S) .
man ssh
tiết lộ cổng: host: hostport. Vì vậy, hãy thửssh 80:server.com
hoặc như vậy.