美文网首页
SSH正向代理

SSH正向代理

作者: Ginkgo | 来源:发表于2020-12-01 19:43 被阅读0次

    实验室里有一台服务器C,我在实验室里有一台和服务器在同一局域网的电脑B,我自己的笔记本A在寝室。我想在A电脑上直接访问C的网站,那么该如何实现呢?
    ssh-正向与反向代理 - tanoak - 博客园 (cnblogs.com)

    示意图.png

    使B能访问在C上运行的Jupyter notebook

    我直接在C上打开了Jupyter notebook(可以百度一下jupyter 远程访问),但是C并没有开放8888端口(jupyter默认是8888端口),只开放了常用的端口,如22端口等。那么首先需要解决的是使B能访问到C端的jupyter网页,这时只需要在B上配置ssh,使用ssh的端口转发的功能来访问C的8888端口

    ssh -L 4000:localhost:8888 username@192.168.1.66 -p port
    

    这样就能直接在B的电脑上输入localhost:4000来访问C服务器上jupyter通过8888端口开放的服务

    使A能通过B来访问C开放的jupyter服务

    这时只需要在B上做如下配置:

    ssh -CfNg -R 4000:localhost:4000 usrname@123.123.999.xxx
    

    这样就能直接在A电脑上输入localhost:4000来直接访问C中开启的服务了

    SSH常用参数

    -N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
    -C 表示压缩数据传输
    -f 告诉SSH客户端在后台运行
    -q Quiet mode. 安静模式,忽略一切对话和错误提示
    -g:允许远程主机连接主机的转发端口
    -L port:host:hostport 做本地映射端口(正向隧道,监听本地port)
    需要使用的本地端口号
    需要访问的目标机器IP地址(IP: 234.234.234.234)
    需要访问的目标机器端口(端口: 21)
    -R。port:host:hostport 该参数的三个部分的含义分别(反向隧道,监听远程port)
    远程机器使用的端口(2222)
    需要映射的内部机器的IP地址(127.0.0.1)
    需要映射的内部机器的端口(22)
    栗子 -R X:Y:Z 就是把我们内部的Y机器的Z端口映射到远程机器的X端口上
    -D port 指定一个本地机器 ``动态的 应用程序端口转发
    

    备注

    上图中A和B电脑都是win10系统,win10系统开启要手动开启OpenSSH服务才能使用ssh登录,开启的方法是先在设置中打开应用->可选服务然后添加OpnenSSH服务,之后再在开始菜单中搜索服务,在服务中打开与OpenSSH相关的两个服务就行。 image.png

    相关文章

      网友评论

          本文标题:SSH正向代理

          本文链接:https://www.haomeiwen.com/subject/lltewktx.html