truy cập trang web thông qua ssh


14

Tôi cần truy cập vào xplore của IEEE, nhưng tôi không có quyền tải xuống khỏi viện.

Tôi có thể đăng nhập vào máy chủ của viện thông qua ssh,

Vậy làm cách nào tôi có thể truy cập IEEE xplore thông qua máy chủ của viện thông qua ssh?

Tôi đã tìm kiếm giải pháp, một số câu trả lời:

ssh -L 8080:localhost:80 user@remoteserver

và sau đó anh nói:

Bây giờ, trỏ trình duyệt cục bộ của bạn đến localhost: 8080. Nó nên được chuyển tiếp đến localhost: 80 trong máy chủ từ xa. ### Nhưng tôi vẫn không biết cách định cấu hình máy tính xách tay của mình, tôi sử dụng chrome.

Tối đánh giá rất cao sự giúp đỡ của bạn!


Câu trả lời:


23

Phương pháp đầu tiên:

Khởi chạy một đường hầm SSH

Để bắt đầu đường hầm SSH của bạn, chỉ cần mở thiết bị đầu cuối và kết nối với máy chủ từ xa của bạn thông qua SSH với các cờ sau:

ssh -D 8080 -C -N username@example.com

Duyệt web bằng Đường hầm SSH của bạn (Chrome)

Bây giờ, hãy bắt đầu duyệt web bằng đường hầm SSH mới của chúng tôi.

  • Mở Google Chrome
  • Chọn biểu tượng cờ lê ở trên cùng bên phải
  • Chọn cài đặt'
  • Chọn 'Hiển thị cài đặt nâng cao'
  • Chọn 'Thay đổi cài đặt proxy'
  • Chọn 'SOCKS Proxy'
  • Nhập '127.0.0.1
  • Nhập cổng '8080
  • Lưu các thay đổi bằng cách chọn 'OK'

Tìm kiếm 'ip của tôi' trên Google và xem địa chỉ IP của bạn hiện là gì.

Điều này sẽ khởi chạy đường hầm SSH của chúng tôi trên cổng 8080 và định tuyến tất cả lưu lượng truy cập (an toàn) thông qua máy chủ tại example.com.

Thoát khỏi đường hầm SSH

Để thoát khỏi đường hầm SSH, chỉ cần vô hiệu hóa proxy SOCKS trong trình duyệt của bạn.

nguồn

Phương pháp thứ hai:

Bạn có thể làm điều đó một cách dễ dàng bằng Shellinabox

Đảm bảo rằng bạn đã kiểm tra Kho lưu trữ vũ trụ

Để cài đặt

 $ sudo apt-get install openssl shellinabox

Cấu hình Shellinabox

Theo mặc định, shellinaboxd lắng nghe trên cổng TCP 4200 trên localhost. Bảo mật cài đặt chứng chỉ SSL tự ký mới được tạo tự động theo tiêu đề / var / lib / shellinabox, để sử dụng giao thức HTTPS.

$ sudo vi /etc/default/shellinabox

# specify the IP address of a destination SSH server
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"

NB: thay thế ip 172.16.25.125 bằng ip của bạn

Bắt đầu Shellinabox

Khi bạn đã hoàn tất cấu hình, bạn có thể bắt đầu dịch vụ

$ sudo service shellinaboxd start

Xác nhận Shellinabox

Bây giờ, hãy xác minh xem Shellinabox có đang chạy trên cổng 4200 hay không bằng cách sử dụng lệnh của net netatat.

$ sudo netstat -nap | grep shellinabox
or
# netstat -nap | grep shellinabox

tcp        0      0 0.0.0.0:4200            0.0.0.0:*               LISTEN      12274/shellinaboxd

Bây giờ hãy mở trình duyệt web của bạn và điều hướng đến 'https: // "Your-IP-Adress: 6175"'. Bạn sẽ có thể thấy thiết bị đầu cuối SSH dựa trên web. Đăng nhập bằng tên người dùng và mật khẩu của bạn và bạn sẽ được trình bày với dấu nhắc shell của bạn.

nhập mô tả hình ảnh ở đây

nguồn


@maythus, cảm ơn bạn rất nhiều, câu trả lời của bạn rất hay. Tôi giải quyết vấn đề của mình bằng giải pháp 1.
ulyssis2

@ ulyssis2 Bạn rất được chào đón
Maythux

@kimerseen Bạn được chào đón người bạn
Maythux

@Maythux bạn có thể giúp tôi với câu hỏi của tôi Askubfox.com/questions/987626/shell-in-a-box-session-closes
MiHawk

2

Ví dụ bạn cung cấp là chính xác, nhưng hơi sai lệch. Điều này sẽ làm việc:

ssh -L 8080:<remote-web-host-you-want-to-see>:80 remote-user@remote-ssh-server

Ví dụ, hãy xem xét một hộp từ xa đang chạy ssh có thể truy cập trang web này mà tôi muốn xem tại địa phương:

http://192.168.1.2/index.html

Để tạo một đường hầm trên hộp cục bộ cho phép tôi duyệt đến trang từ xa đó, tôi chạy cục bộ:

ssh -L 8080:192.168.1.2:80 user@remote-ssh-server

Và, sau đó trong một trình duyệt web, tôi truy cập:

http: // localhost: 8080 / index.html

Nếu bạn cần (hoặc muốn) bỏ qua trình xác định cổng, bạn sẽ cần mở đường hầm với quyền root, vì 80 là cổng "đặc quyền" (<1024):

sudo ssh -L 80:<remote-web-host-you-want-to-see>:80 remote-user@remote-ssh-server

Sau đó, bạn chỉ có thể truy cập tại địa phương:

http: //localhost/index.html

Không cần cấu hình khác.

Ngẫu nhiên, điều này chỉ hoạt động cho một máy chủ duy nhất mà bạn muốn xem tại địa phương. Nếu bạn cần xem thêm, bạn cần mở thêm các đường hầm trên các cổng khác hoặc kiểm tra các giải pháp khác mà đường hầm yêu cầu cho tất cả các máy chủ từ xa thông qua proxy.

Đây là cách sử dụng thứ 3 của -Lchuyển đổi từ man ssh:

 -L [bind_address:]port:host:hostport
 -L [bind_address:]port:remote_socket
 -L local_socket:host:hostport
 -L local_socket:remote_socket
         Specifies that connections to the given TCP port or Unix socket on the
         local (client) host are to be forwarded to the given host and port, or
         Unix socket, on the remote side.  This works by allocating a socket to
         listen to either a TCP port on the local side, optionally bound to the
         specified bind_address, or to a Unix socket.  Whenever a connection is
         made to the local port or socket, the connection is forwarded over the
         secure channel, and a connection is made to either host port hostport,
         or the Unix socket remote_socket, from the remote machine.

         Port forwardings can also be specified in the configuration file.  Only
         the superuser can forward privileged ports.  IPv6 addresses can be
         specified by enclosing the address in square brackets.

         By default, the local port is bound in accordance with the GatewayPorts
         setting.  However, an explicit bind_address may be used to bind the
         connection to a specific address.  The bind_address of “localhost”
         indicates that the listening port be bound for local use only, while an
         empty address or ‘*’ indicates that the port should be available from
         all interfaces.
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.