码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用云服务器作为跳板机器远程转发内网机器端口的jupyter服务


    目录

      • 前提:
      • 实验性方法:
      • 方法升级:
      • 注意事项
      • 推荐阅读:

    由于实验室服务器部署在内网。我运行在实验室服务器的jupyter服务无法直接通过ip+端口号的方法访问。于是想到了借助一个具有公网地址的华为云服务器(新用户一年100块钱)进行远程转发。我的目标是:通过这个公网地址+端口号 随时随地使用我在实验室机器上的jupyter。

    前提:

    1. 内网服务器是可以访问外网的。
    2. 云服务器已经配置好了安全组设置。允许外部的访问。
    3. 配置从内网服务器访问外网的免密认证。参考:一行命令实现服务器的免密认证
    4. 已经使用screen使得jupyter notebook服务在服务器后台稳定运行。指定了端口号,本例为8888。并且配置好jupyter允许外部ip的访问。

    实验性方法:

    在内网服务器上,运行如下代码:

    ssh -fCNR port:localhost:8888 testuser@113.4.67.278
    
    • 1

    解释如下:

    port : 自定义一个云服务器的端口,比如9999
    8888: 实际想访问的本地端口
    root和ip地址根据实际情况改写
    -f : 表示SSH连接在后台运行
    -C : 表示压缩数据传输
    -N : 用于端口转发,表示建立的SSH只用于端口转发,不能执行远程命令
    -R : 指定远程端口转发
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    但是,以上方法存在一个问题是,ssh会超时断联。我参考了下面这篇文章来解决。
    ssh 设置超时时间

    方法升级:

    (真男人要持久)

    ssh -fCNR port:localhost:321 root@113.4.67.278  -o ServerAliveInterval=60
    
    
    • 1
    • 2

    注意事项

    要区分远程转发-R 和本地转发 -L

    本地转发(local forwarding)指的是,SSH 服务器作为中介的跳板机,建立本地计算机与特定目标网站之间的加密连接。本地转发是在本地计算机的 SSH 客户端建立的转发规则。建立本地计算机到远程计算机的 SSH 隧道以后,本地转发是通过本地计算机访问远程计算机

    远程转发指的是在远程 SSH 服务器建立的转发规则。远程转发是通过远程计算机访问本地计算机。

    本文使用的是远程转发的方法。

    如果嫌这个设置繁琐的话,可以使用vs code进行本地转发。只要你的jupyter服务是挂在screen上持久运行的,就没有问题。要注意防止vs code的ssh超时断连。这个是可以通过下图的文件加上ClientAliveInterval进行设置的。
    在这里插入图片描述

    每一分钟,sshd都和ssh client打个招呼,检测它是否存在,不存时即断开连接。

    推荐阅读:

    SSH 端口转发 https://wangdoc.com/ssh/port-forwarding.html
    内网服务器外网连接SSH远程端口转发实战详解 https://blog.csdn.net/a15608445683/article/details/122852683

  • 相关阅读:
    LidarView工程搭建指南
    GNeRF论文理解
    LeetCode题解:2. 两数相加,递归,JavaScript,详细注释
    [Docker] Docker常用命令
    Kmeans聚类 使用Pytorch和GPU加速
    01_Cookie&WebStorage
    Jetson Xavier NX 与飞控(Pixhawk 4 Mini)实现串口通信
    教你注册chrome开发者账号,并发布chrome浏览器插件。
    websocket实现实时数据推送,发布订阅重连单点登录功能
    IDEA远程一键部署SpringBoot到Docker
  • 原文地址:https://blog.csdn.net/weixin_37726222/article/details/126805408
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号