Đường hầm lưu lượng truy cập yum qua máy chủ khác qua ssh


10

Tôi đang chạy một máy tính để bàn Fedora đằng sau một proxy công ty đang chặn yumlưu lượng truy cập (cụ thể *.gz*.bz2). Tôi có quyền truy cập vào một máy RedHat riêng thông qua ssh có thể tải xuống bất cứ thứ gì nó thích.

Khi tôi thực hiện yum updatevà các lệnh yum khác: Có thể định tuyến lưu lượng truy cập đó đến máy RedHat để thực hiện tải xuống cho tôi không? Tôi không có quyền truy cập root trên máy RedHat nhưng tôi có thể đăng nhập và sử dụng wget để tải xuống tệp. Nếu vậy thì thế nào?

Câu trả lời:


21

Giải pháp của tôi tương tự như @ slm nhưng tôi đã sử dụng SOCKS thay vì đơn giản hơn và không yêu cầu cài đặt proxy trên máy chủ hoặc máy khách.

Chạy tất cả các lệnh trên máy tính với hạn chế.

trong yum.confthiết lập proxy như sau

proxy=socks5h://localhost:1080

từ một loại thiết bị đầu cuối

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

nhấn enter và nhập mật khẩu của bạn.

bây giờ, trong một thiết bị đầu cuối riêng biệt (không phải loại ssh)

yum update

1
Tôi đã thử sử dụng cài đặt proxy vớ5h trong yum.conf, nhưng yum phàn nàn rằng đó không phải là http, https hoặc ftp. (sử dụng Centos6)
gnac

Giải pháp của tôi hoạt động với Fedora 20 & 21. Cent và Fedora một bản phân phối tương tự nên có một điều kỳ lạ là nó không hoạt động.
jax

Xin chào, lệnh ssh bạn đã đề cập nên được chạy trên máy tính có quyền truy cập hạn chế phải không? Nếu có, tôi tự hỏi làm thế nào tường lửa sẽ không chặn và gây ra lỗi như "ssh: kết nối với máy chủ của bạn_SERVER_WITH_FULL_weB_ACCESS cổng 22: Không có tuyến đường đến máy chủ". YOU_SERVER_WITH_FULL_weB_ACCESS có thể truy cập được từ máy bị hạn chế?
Hei

@Hei có, "YOU_SERVER_WITH_FULL_weB_ACCESS" cần có thể truy cập được từ máy của bạn. Trong trường hợp của tôi - internet của tôi bị hạn chế cục bộ.
jax

4

Bạn sẽ có thể ủy quyền lưu lượng truy cập của YUM qua kết nối SSH như sau:

  1. thêm /etc/yum.confvào máy chủ được bảo vệ:

    proxy=http://127.0.0.1:8080
    
  2. từ máy chủ có quyền truy cập ssh vào / ra bình thường:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. Trên máy chủ nơi bạn muốn chạy các lệnh YUM:

    $ yum update
    

Người giới thiệu


Tôi chỉ cần một số làm rõ. (Tôi sẽ đề cập đến máy tính để bàn Fedora của tôi desktopvà máy chủ RedHat với quyền truy cập tải xuống đầy đủ như server). Vì vậy, tôi đoán tôi sẽ cần phải làm proxy=http://127.0.0.1:8080trên của tôi desktopvì đây là máy tính cần cập nhật yum và ssh -R 8080:ssh.server:8080 user@protected.servertrên của tôi desktopcũng có. Trường hợp servercấu hình đi vào đây hoặc không có?
jax

2
Bạn đang thiếu bước chạy proxy HTTP nghe trên cổng 8080 ssh.server.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles tôi có cần proxy trên desktophay serverkhông? Nếu đó không phải là máy chủ, tôi không thể cài đặt nó vì tôi không có quyền truy cập root
jax

@jax Bạn cần chạy proxy trên máy có kết nối Internet. Bạn không cần phải chạy nó như root. Tinyproxy rất dễ thiết lập (có nhiều lựa chọn thay thế).
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles, tôi đã tìm thấy ở nơi khác rằng bạn có thể tạo một proxy proxy mà dường như định tuyến lưu lượng TCP tự động. ssh -D 8888 user@servertrên máy tính để bàn, sau đó bạn cần nói với yum sử dụng máy chủ này proxy=socks5h://localhost:8888. Vì vậy, bạn có thể thấy bất kỳ vấn đề với điều này? Điều đó có nghĩa là tôi không cần phải cài đặt bất cứ thứ gì trên máy chủ, lý tưởng trong trường hợp của tôi vì đó là máy dùng chung. Tôi sẽ không thể kiểm tra nó cho đến thứ Hai.
jax
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.