Что такое Google Colab
Colab — это совершенно новая аппаратная среда виртуальной машины для программного обеспечения, работающего в рамках проекта Jupyter.
Colab можно понимать как среду виртуальной машины Docker, которая похожа на Alibaba Cloud, Tencent Cloud, Tianchi Lab, платформу Huawei NAIE и платформу Tencent Intelligent Titanium.Это виртуальная машина, ключевая роль которой заключается в запуске программного обеспечения. ум, виртуальная машина подобна телу, и они обычно неразделимы. Текущая основная операционная система виртуальной машины — Ubuntu18.04, эта система очень хороша и очень универсальна.
что такое фрп
frp — это инструмент проникновения в интрасеть, который предназначен для сопоставления порта на машине без IP-адреса общедоступной сети с общедоступной сетью.Предпосылка заключается в том, что в качестве интерфейса используется сервер общедоступной сети, поэтому энергия фактически сохраняется, а общедоступная сеть требуется доступ.У вас должен быть общедоступный сервер.
Понять процесс проникновения colab в интранет через ngrok
ngrok можно понимать как платный frp за границей, поэтому явно использовать ngrok не рентабельно, преимущество в удобстве.
Ссылаться наngrok-tricks.ipynbиWassimBenzarti/colab-ssh: Connect to Google Colab using SSHПонять принцип реализации colab'ом ssh и других сопоставлений портов.
развернуть кадры
Используйте Tencent Cloud Server в качестве общедоступного сетевого прокси-сервера
Настройка облачного сервера Tencent
- Настроить группы безопасности
- Настройте доменное имя
Используйте удаленный SSH vscode для подключения к серверу Tencent Cloud
Обновите файл конфигурации SSH и добавьте информацию о подключении к серверу Tencent Cloud.
# /Users/xxx/.ssh/config
Host tencent-xxx
HostName IP address
Port 22
User username
ForwardAgent yes
IdentityFile <下载的与云服务器关联的私钥的绝对路径>
# ssh -i <下载的与云服务器关联的私钥的绝对路径> <username>@<hostname or IP address>
ServerAliveInterval 60
ServerAliveCountMax 30
Запустите fps на облачном сервере Tencent
Таким образом, сервер Tencent Cloud действует как сервер frps, загружает frp на сервер, распаковывает его, а затем запускает службу frps.
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz # 下载源码
tar -zxvf frp_0.37.0_linux_amd64.tar.gz && cd frp_0.37.0_linux_amd64
killall -9 frps # kill
nohup ./frps -c ./frps.ini & # 启动frps服务
Ниже приведено содержимое конфигурации frps.ini.
[common]
bind_port = 7000
authentication_method = token
token = token
запустить frpc на локальном компьютере
Загрузите и распакуйте frp, затем запустите frpc
curl https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_darwin_amd64.tar.gz # 下载源码
tar -zxvf frp_0.37.0_darwin_amd64.tar.gz && cd frp_0.37.0_darwin_amd64
killall -9 frpc # kill
nohup ./frpc -c ./frpc.ini & # 启动frpc
Ниже приведено содержимое конфигурационного файла fprc.
# (base) ➜ frp_0.37.0_darwin_amd64 cat frpc.ini
[common]
server_addr = 127.0.0.1
server_port = 7000
token = token
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
На этом этапе вы можете получить доступ к службе порта локального компьютера через удаленный IP-адрес или доменное имя, что указывает на успешное развертывание frps.Следующий шаг — аналогичным образом сопоставить порт виртуальной машины с общедоступным сетевым портом облачный сервер.
Colab проникает в интранет через frp
Лучше всего подписаться на colab pro, потому что вы можете получить прямой доступ к терминалу, что намного удобнее, ведь платформа GPU предоставляет терминальный доступ.
# 挂载Google Drive
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
# 配置frp
%%bash
# 安装sshd
if ! which ssh > /dev/null; then
apt-get install ssh vim # 提前安装
cp /content/drive/MyDrive/git/dotfiles/sshd_config /etc/ssh/sshd_config
service ssh restart # 重启ssh服务
mkdir -p ~/.ssh
fi
# 安装frp
frp_dir=/content/drive/MyDrive/git/frp_0.37.0_linux_amd64/
if [ ! -d "$frp_dir" ]; then
mkdir -p /content/drive/MyDrive/git/ && cd /content/drive/MyDrive/git/
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz # 下载源码
tar -zxvf frp_0.37.0_linux_amd64.tar.gz && cd frp_0.37.0_linux_amd64
fi
# 启动frpc
killall -9 frpc # 可能要kill之前的frpc进程
/content/drive/MyDrive/git/frp_0.37.0_linux_amd64/frpc -c /content/drive/MyDrive/git/dotfiles/frpc-colab-sparrowrecsys.ini >/dev/null 2>&1 & # 启动frps服务
Файл конфигурации frpc.ini:
# /content/drive/MyDrive/git/dotfiles/frpc-colab-sparrowrecsys.ini
[common]
server_addr = IP
server_port = 7000
token = token
[frpc-colab-sparrowrecsys:ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = port
[frpc-colab-sparrowrecsys:tensorboard]
type = tcp
local_ip = 127.0.0.1
local_port = 6006
remote_port = port
[frpc-colab-sparrowrecsys:8080]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = port
использованная литература
- Вход в облачный сервер в экземпляр Linux с помощью SSH — Руководство по эксплуатации — Центр документации — Tencent Cloud
- Как заставить vscode использовать ssh-ключ (ключ) для подключения к удаленному Linux
- fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- Добавьте поддержку https в свой веб-сервис с помощью Frp - walterlv
- Стоит ли Colab Pro подписки за 9,9 долларов в месяц? Проверьте этот полный обзор
- Правильная поза использования Google Colab bzdww
changelog
- 25 июня 2021 г. Вы можете войти в colab локально через frp ssh, лучше всего подписаться на colab pro