配置代理服务器访问github、google

配置代理服务器访问github、google

  • 背景与原理
  • 配置环境
  • 配置步骤
    • 云主机配置
    • Windows客户端创建SSH隧道
      • 安装 Windows 内置 OpenSSH
      • ssh config 配置文件
      • 创建动态代理隧道
    • 浏览器代理设置
  • 验证
    • 浏览器访问google、github
    • ssh 访问github

背景与原理

由于网络政策限制,中国内地用户无法直接访问GitHub、Google等境外服务。香港地区云主机具备国际网络出口,可通过SSH动态端口转发(SOCKS5代理)实现安全访问。
在这里插入图片描述
OpenSSH的动态代理隧道(Dynamic Application Level Gateway,也称为SOCKS代理)是一种强大的方式,用于通过SSH隧道转发网络流量。这种方法常用于在不支持直接SSH隧道的客户端应用程序中实现安全的数据传输。以下是动态代理隧道的基本工作原理:

  1. 建立SSH连接:首先,客户端(如Windows机器)通过SSH协议与远程SSH服务器建立连接。
  2. 动态端口转发:在SSH连接建立后,客户端配置一个动态端口转发(也称为SOCKS代理),通常监听本地的一个端口(例如9050)。
  3. SOCKS协议:当客户端应用程序(如浏览器或任何TCP客户端)尝试连接到某个IP地址和端口时,它会先尝试连接到本地监听的动态代理端口(例如127.0.0.1:9050)。
  4. 代理请求:客户端应用程序将连接请求通过SOCKS协议封装后发送到本地监听的端口。
  5. 转发请求:本地监听的动态代理捕获到请求,并通过SSH隧道将这个请求转发到远程SSH服务器。
  6. 远程处理:远程SSH服务器接收到请求后,根据请求的目标地址和端口进行相应的处理。例如,如果请求是针对外部网络的,服务器可能会将其路由到外部网络。
  7. 响应返回:处理后的响应通过SSH隧道返回到客户端,并通过本地动态代理转发回原始客户端应用程序。

配置环境

操作系统:win10
浏览器:火狐浏览器

配置步骤

云主机配置

  1. 香港区域云服务
    亚马逊申请免费香港地区的云服务,可以免费使用1年
    https://www.amazonaws.cn/free
    在这里插入图片描述
    申请的免费云服务器如下:
    在这里插入图片描述
  2. 确保开放SSH端口(默认22)并配置密钥登录
    查看 ssh 服务状态
systemctl status sshd

在这里插入图片描述

Windows客户端创建SSH隧道

安装 Windows 内置 OpenSSH

# 安装 OpenSSH 客户端(若未预装)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

ssh config 配置文件

  1. .ssh目录下增加config配置文件,如果没有就新建一个
    在这里插入图片描述
  2. 增加如下配置,此处配置的端口8888需要和启动的一致
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github/id_rsa
# 设置 SOCKS5 代理(例如本地端口 1080)
ProxyCommand connect -S 127.0.0.1:8888 %h %p# aws
Host aws-server
HostName ec2-54-46-31-72.ap-east-1.compute.amazonaws.com  # 实例公有DNS
User ec2-user  # 默认用户名(根据AMI类型调整)
IdentityFile ~/.ssh/aws-server/ssh_proxy.pem  # 私钥绝对路径
Port 22  # 默认端口(若修改需同步调整安全组)
IdentitiesOnly yes  # 强制使用指定密钥

如果不用配置文件也可以直接只用命令行的

ssh -i "ssh_proxy.pem" ec2-user@[主机地址]

创建动态代理隧道

ssh -D 8888 -f -N aws-server

在这里插入图片描述

  • -D 8888:本地 SOCKS5 代理端口为 8888
  • -f:后台运行
  • -N:仅建立隧道不执行命令
  • aws-server 需要与之前config 的HOST 的别名一致

浏览器代理设置

火狐浏览器自带代理设置,无需下载插件。在设置栏搜索代理
在这里插入图片描述
设置代理,选择手动代理,SOCKS 主机配置 127.0.0.1,端口配置之前启动命令的8888,选择 SOCKS_V5代理
在这里插入图片描述

验证

浏览器访问google、github

在这里插入图片描述
在这里插入图片描述

ssh 访问github

$ ssh -T git@github.com
Hi shootercheng! You've successfully authenticated, but GitHub does not provide shell access.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/81974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络学习-利用reactor实现http请求(六)

一、实现HTTP请求 1、印象里面,总有人说C/C语言不能实现HTTP请求,其实不然。C/C语言完全可以实现HTTP请求。通过对select,poll,epoll等IO多路复用技术的学习以及reactor模式的学习,完全能够实现HTTP请求。 2、webserver 主要解决两个问题 …

【VSCode】修改侧边文件资源管理器中的文件夹折叠模式

默认为紧凑模式: 然后我们勾选该项为宽松模式:

信息化时代国产主板如何防止信息泄露?

在数字化时代,每一份机密的泄露都可能成为我们的致命伤,尤其是如今网络如此发达的5G时代,如何防止网络信息泄密,已经成为每个人必须直面的问题。随着网络安全问题日益严重,企业和个人对网络安全的重视程度不断加深&…

vue的简单使用

1.vue的引入 引入函数&#xff0c;创建createApp对象 <div id"app">{{ message }}</div><script type"module">import { createApp, ref } from https://unpkg.com/vue3/dist/vue.esm-browser.jscreateApp({setup() {const message re…

【图像生成大模型】HunyuanVideo:大规模视频生成模型的系统性框架

HunyuanVideo&#xff1a;大规模视频生成模型的系统性框架 引言HunyuanVideo 项目概述核心技术1. 统一的图像和视频生成架构2. 多模态大语言模型&#xff08;MLLM&#xff09;文本编码器3. 3D VAE4. 提示重写&#xff08;Prompt Rewrite&#xff09; 项目运行方式与执行步骤1. …

DPDK 技术详解:榨干网络性能的“瑞士军刀”

你是否曾感觉&#xff0c;即使拥有顶级的服务器和万兆网卡&#xff0c;你的网络应用也总是“喂不饱”硬件&#xff0c;性能总差那么一口气&#xff1f;传统的网络处理方式&#xff0c;就像在高速公路上设置了太多的收费站和检查点&#xff0c;限制了数据包的“奔跑”速度。 今…

力扣网-复写零

1.题目要求 2.题目链接 1089. 复写零 - 力扣&#xff08;LeetCode&#xff09; 3.题目解答 class Solution {public void duplicateZeros(int[] arr) {int cur0,dest-1,narr.length;while(cur<n){//遇到0就dest走两步if(arr[cur]0){dest2;}//遇到非零元素dest就走一步els…

STL中的Vector(顺序表)

vector容器的基本用法&#xff1a; template<class T> class vector { T* _a; size_t size; size_t capacity; } 尾插和遍历&#xff1a; vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3);//遍历 for(int i0;i<v.size();i) {cout<<…

Hass-Panel - 开源智能家居控制面板

文章目录 ▎项目介绍&#xff1a;预览图▎主要特性安装部署Docker方式 正式版Home Assistant Addon方式详细安装方式1. Home Assistant 插件安装&#xff08;推荐&#xff09;2. Docker 安装命令功能说明 &#xff1a;3. Docker Compose 安装升级说明Docker Compose 版本升级 功…

ctfhub技能书http协议

http://challenge-ffe8afcf1a75b867.sandbox.ctfhub.com:10800/index.php curl -v -X CTFHUB http://challenge-ffe8afcf1a75b867.sandbox.ctfhub.com:10800/index.php curl&#xff1a;用于发送 HTTP 请求的命令行工具。 -v&#xff08;--verbose&#xff09;&#xff1a;开启…

Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值

功能对比总表 功能Eigen 方法OpenCV 方法主要区别最大值mat.maxCoeff(&row, &col)cv::minMaxLoc(mat, NULL, &maxVal, NULL, &maxLoc)Eigen需要分开调用&#xff0c;OpenCV一次获取最小值mat.minCoeff(&row, &col)cv::minMaxLoc(mat, &minVal, NU…

结课作业01. 用户空间 MPU6050 体感鼠标驱动程序

目录 一. qt界面实现 二. 虚拟设备模拟模拟鼠标实现体感鼠标 2.1 函数声明 2.2 虚拟鼠标实现 2.2.1 虚拟鼠标创建函数 2.2.2 鼠标移动函数 2.2.3 鼠标点击函数 2.3 mpu6050相关函数实现 2.3.1 i2c设备初始化 2.3.2 mpu6050寄存器写入 2.3.3 mpu6050寄存器读取 2.3.…

[Docker排查] 镜像拉取/容器启动/网络不通?Docker常见错误与解决方案

Docker&#xff0c;这个让无数开发者和运维工程师高呼“真香”的容器化技术&#xff0c;凭借其轻量、快速、可移植的特性&#xff0c;极大地简化了应用的开发、测试和部署流程。但即便是再“香”的技术&#xff0c;也难免有“闹脾气”的时候。你是不是也遇到过这样的“抓狂瞬间…

Oracle如何解决LATCH:CACHE BUFFERS CHAINS

CACHE BUFFERS CHAINS LATCH主要用于保护HASH CHAIN结构。一个CACHE BUFFERS CHAINS LATCH保护着多条HASH CHAIN。可以通过查看隐含参数_db_block_hash_latches的值或者查询vlatch_children视图获得系统中CACHE BUFFER CHAIN LATCH的数量。目前系统中CACHE BUFFER CHAIN LATCH的…

手搓四人麻将程序

一、麻将牌的表示 在麻将游戏中&#xff0c;总共有一百四十四张牌&#xff0c;这些牌被分为多个类别&#xff0c;每个类别又包含了不同的牌型。具体来说&#xff0c;麻将牌主要包括序数牌、字牌和花牌三大类。序数牌中&#xff0c;包含有万子、条子和筒子&#xff0c;每种花色…

spring cloud config更新配置

在开发微服务时&#xff0c;往往需要有开发环境、测试环境和生产环境&#xff0c;手动修改配置环境是一件很麻烦的事情&#xff0c;因此&#xff0c;这里使用spring cloud config管理配置环境。要使用spring cloud config&#xff0c;需要先在GitHub搭建一个仓库。 一、仓库搭…

MySQL 5.7 实战:JSON 字段提取、Base64 解码与引号问题全解析

一、背景与问题场景 在 MySQL 数据库中&#xff0c;存储 JSON 格式数据&#xff08;如用户行为日志、配置参数、扩展信息&#xff09;的场景日益普遍。当需要从 JSON 字段中提取特定键值&#xff08;如info&#xff09;并进行 Base64 解码时&#xff0c;常遇到以下问题&#x…

自研Rise系列之BI简单易用的大屏系统

BI系统是制作可视化大屏报表的常用工具之一&#xff0c;因其具备实时更新、综合分析多来源数据、直观展现分析结果、支持多维自助分析等特点而广受欢迎。在BI系统上设计制作可视化大屏后&#xff0c;只需接入大屏硬件即可&#xff0c;因此BI系统的选择就成了重中之重。 在可视化…

飞桨paddle import fluid报错【已解决】

跟着飞桨的安装指南安装了paddle之后 pip install paddlepaddle有一个验证&#xff1a; import paddle.fluid as fluid fluid.install check.run check()报错情况如下&#xff0c;但是我在pip list中&#xff0c;确实看到了paddle安装上了 我import paddle别的包&#xff0c…

第18天-NumPy + Pandas + Matplotlib多维度直方图

示例1:带样式的柱状图 python 复制 下载 import numpy as np import pandas as pd import matplotlib.pyplot as plt# 生成数据 df = pd.DataFrame(np.random.randint(10, 100, size=(8, 4)),columns=[Spring, Summer, Autumn, Winter],index=[2015, 2016, 2017, 2018, 20…