阿里云服务器连接北邮校园网(2024年新测)

本文介绍了如何使用Python的requests库进行网络登录(包括Bupt校园网登录)以及在阿里云服务器上通过端口转发访问校内内网服务器的方法。作者提供了详细步骤和示例代码,展示了如何利用SSH进行通信并解决内外网访问问题。
摘要由CSDN通过智能技术生成

方法1 使用curl命令

curl 'http://10.3.8.211/login' --data 'user=*****&pass=*****'

这条命令不会返回任何输出,执行完直接 ctrl+c 结束就行

方法2 使用python脚本(request库)

import requests
import logging

logging.basicConfig(
    format="%(levelname)-8s %(asctime)s (%(filename)-15s: line %(lineno)3d): %(message)s",
    level=logging.INFO
)

Getway_IP = "http://10.3.8.211/login"   # 校园网网关登录地址 或换成"http://gw.bupt.edu.cn/login"
LogOut_URL = "http://10.3.8.211/logout" # 校园网网关登出地址 或换成"http://gw.bupt.edu.cn/logout"
Check_URL = "http://www.baidu.com"      # 用以检测是否可以连接到外网
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'}
username = "" # 请改成自己的学工号
password = "" # 请改成自己的校园网密码


def main():
    if check_network():
        logging.info("您已经登录过!")
        return True  # 已经登录
    else:
        login(username, password)
        if check_network():
            logging.info("登录成功!")
            return True  # 登录成功
        else:
            logging.error("登录失败,请检查账号密码!")
            return False  # 登录失败


def check_network():
    # 必须禁止重定向,否则 status_code 一直是 200
    res = requests.get(Check_URL, timeout=1, allow_redirects=False)
    logging.debug(res.status_code)
    logging.debug(res.text)
    if res.status_code == 200:
        logging.debug('您已经成功登录。')
        return True
    else:
        logging.debug('未登录。')
        return False


def login(username, password):
    params = {
        'user': username,
        'pass': password
    }
    res = requests.post(Getway_IP, headers=headers, params=params)
    logging.debug(res.text)
    return(res)
def logout():
    res = requests.get(LogOut_URL, headers=headers, allow_redirects=False)
    logging.debug(res.text)
    return(res)

main()

方法3 测试一下本地端口转发,在阿里云服务器上ssh连接校内内网服务器

内网服务器(命名为nw)能够访问外部,可以ping通阿里云服务器(命名为ali)的地址
但是外部阿里云的服务器无法ping通内网地址

nameip
内网服务器nw55.5.240.214
外网服务器ali110.110.110.110

建立通道

nw里面执行

root@nw: ssh -NfR 1122:localhost:22 root@110.110.110.110 -p 22
  • 先来解释一下参数,后台执行(-f),不实际连接而是做port forwarding(-N),做反向ssh(-R)
  • 意思是把ali上的 1122 端口映射成连接nwali的反向ssh的端口
  • 如果报错,请先将ali的地址添加到nw~/.ssh/known_hosts里面,另外需要将ali的公钥.pub文件添加到nw~/.ssh/authorized_keys里面

登录内网服务器

ali里面执行

root@ali: ssh www@localhost -p1122
  • www是指你登录内网服务器所用的用户名
  • 同样这一步需要将nw的地址添加到ali~/.ssh/known_hosts里面,另外需要将nw的公钥.pub文件添加到ali~/.ssh/authorized_keys里面
    结果

如图为测试结果,成功登录

参考文献

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诞总好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值