IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> cpolar内网穿透:自动化登录服务器 -> 正文阅读

[系统运维]cpolar内网穿透:自动化登录服务器

作者:token comment

1. 本文简介

家里没有公网ipv4,公网ipv6默认不能直接访问,懒得找电信公司去要DDNS和公网地址了。但是本文适用于所有的这种场景。

本文使用cpolar这个内网穿透工具实现对服务器不用登录官网查地址的访问。

简单来说,就是由于免费的cpolar账户不能固定端口,每次登录服务器都需要查看地址和端口,有些麻烦。这里用爬虫抓取当前的地址和端口,进行自动化登录。不用再自己手动打开网页,每次都输入地址和端口,这里只需要输入密码即可。

如果有条件,请支持cpolar其他非免费版本,以获得更好的体验。

2. 实现

2.1 安装与卸载cpolar

限于篇幅限制,cpolar的账号注册、cpolar的安装和卸载这里不再详述,这里给出官网教程连接,直接参考官网即可了,第一个是所有平台的,第二个是Ubuntu平台的,写的都非常详细。需要注意的是就是需要一个token认证。

  1. https://www.cpolar.com/blog/cpolar-download-and-install
  2. https://www.cpolar.com/blog/ubuntu-users-install-cpolar

2.2 使用cpolar登录服务器

正常的流程使用cpolar进行登录服务器的流程是:

  1. 打开cpolar官网, https://www.cpolar.com;
  2. 点击登录,输入账号密码,登录账号;
  3. 打开状态页,查看当前给分配的地址和端口;
  4. 使用ssh连接服务器。

让程序替代我们去干这4件事,减少打开浏览器查看等麻烦事情。最后登录的时候,唯一需要干一件事情就是需要输入服务器的密码。

我这里使用的python版本是Python 3.x,请自行pip安装requestsbs4两个第三方库。下面的代码需要修改的是如下前3个。

  1. 账号,也就是你注册好的cpolar账号
  2. 密码,即设置的cpolar登录密码
  3. 用户名,待访问服务器上的默认用户名。其实也可以在访问的时候后面跟上你需要的用户名,这样就不需要这里再设置了。
  4. csrf_token不知道是不是会变,也不知道是不是都一样,姑且认为是一样的。如果有改变,则需要自己查看网页中的csrf_token。在登录页面,查看源码并搜索即可。
# filename: link.py
# author:   basilguo@163.com
# version:  v1.0.2
# date:     Oct. 28, 2022
# usage:    python link.py [username]
import requests
import os
import sys
import re
from bs4 import BeautifulSoup

def browser(url):
    login_page = 'https://dashboard.cpolar.com/login'
    try:
        session = requests.Session()
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
        }

        params = {
            'login': '1. 账号',
            'password': '2. 密码',
            'csrf_token': '1538662349.68##b5aa35f374452a6198004dab20d88b13583c7c2c'
        }
        resp = session.post(login_page, params, headers=headers)
        resp = session.get(url, headers=headers)
        data = resp.content.decode('UTF-8')
        return data
    except Exception as e:
        print(str(e))

def parse_html(html):
    ret = []
    css_rule = '#dashboard > div > div:nth-child(2) > div.span9 > table > tbody > tr > th > a'
    soup = BeautifulSoup(html, features="html.parser")
    items = soup.select(css_rule)

    for item in items:
        pat = 'tcp://(.*?):(\d+)'
        rs = re.match(pat, str(item.text))
        ret.append({'address': rs[1], 'port': rs[2]})
    return ret

def parse_args():
    if len(sys.argv) == 1:
        name = '3. 服务器用户名'
    else:
        name = sys.argv[1]
    return name

def main():
    url = 'https://dashboard.cpolar.com/status'
    html = browser(url)
    raw_sshs = parse_html(html)
    print(raw_sshs)
    name = parse_args()
    for ssh in raw_sshs:
        os.system('ssh %s@%s -p %s' % (name, ssh['address'], ssh['port']))
        # exit()

if __name__ == '__main__':
    main()

3. 注意

我猜测这里因为cpolar的缘故,应该没法实现自动登录了。所以我删除了一些读取写入ssh config的代码,如果出现问题,请自行debug吧。

免责声明

这里使用的是自己的主机搭建的Linux服务器,如果用于生产网络等商用场景,出现问题本文概不负责。
同时在本文写作时,cpolar自身的robots.txt声明如下,并未禁止爬虫。

User-agent: *
Disallow:
Sitemap: https://www.cpolar.com/sitemap.xml
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:39:35  更:2022-10-31 12:41:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/19 10:06:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码