精华内容
下载资源
问答
  • 浅析 SSH 正向代理 方向代理

    正向连接:你的机器连目标机器(适用范围:你的机器在内网,目标机器在外网)
    反向连接:目标机器反连你的机器(适用范围:你的机器在外网,目标机器在内网)
    从一个大佬的博客上学来的:http://3xp10it.cc/
    SSH 正向代理、反向代理条件
    你的机器能访问目标A,目标A能访问目标B,你的机器不能访问目标B
    场景分析:目标A有两块网卡,第一块网卡跟你的机器在一个网段,第二块网卡跟目标B在一个网段,两个网段之间不通。
    要达到的目的:用你的机器访问目标B的80端口
    首先我们已经拿到了目标A的SSH账号密码,通过目标A做流量代理,访问目标B。你的机器告诉目标A我要访问目标B的80端口,然后目标A代理请求目标B的80端口,将数据包再返回给你的机器。

    展开全文
  • 利用SSH反向代理树莓派

    万次阅读 2017-08-02 00:11:58
    利用ssh反向代理树莓派 如果你没有一台公网服务器,可以不用继续读下去了 痛点与第一性原理首先由于当前ipv4资源枯竭和运营商出于安全考虑的原因,网络上多分到动态的ip或者nat的局域网ip,加上防火墙限制了tcp的...

    利用ssh反向代理树莓派

    如果你没有一台公网服务器,可以不用继续读下去了

    痛点与第一性原理

    首先由于当前ipv4资源枯竭和运营商出于安全考虑的原因,网络上多分到动态的ip或者nat的局域网ip,加上防火墙限制了tcp的主动连接方向,所以很难直接在公网访问局域网的设备。但是玩树莓派的时候我们想要在外网连接树莓派做一些事情,这就是痛点。利用一台公网服务器坐反向代理服务器我们就可以做到这点了,原理是利用充当公网服务器充当了一座“桥”,pi先主动建立一条连接到树莓派上,这样公网服务器就可以和pi保持通信了称为连接“A”,同时在公网服务器上开一个端口监听别的pc的连接”B“,这样公网服务器把连接B的流量专项连接A实现了反向代理的实现了pc穿过防火墙和局域网访问pi的效果。

    pi上建立pi到公网的连接

    ssh -CqTfnN -R 0.0.0.0:1234:localhost:22 ubuntu@test.server
    这样就建立了一个本地pi到test.server的1234端口的连接,之后test.server就可以利用这个端口和pi通信了。test.server是云服务器的域名或者ip

    服务器上建立代理端口

    ssh -fCNL "*:1235:localhost:1234" ubuntu@test.server
    这样是建立一个1235端口监听别的客户机的请求,当1235端口收到数据时候把数据转给1234端口,实现了“代理”的效果。pc只要像1235端口发起请求就和直接访问pi的22端口一样。

    客户机上访问pi

    ssh -p 1235 ubuntu@test.server
    就可以连接树莓派了

    记得放开防火墙的tcp 1234 1235端口的访问权限哦

    展开全文
  • 阿里云服务器上配置ssh反向代理

    万次阅读 2020-05-16 16:52:23
    阿里云服务器上配置ssh反向代理使用autossh来让目的主机在公网主机上建立这个端口映射   本文的内容可能偏运维,不是因为搞这个方向,而是确实存在一些坑,而且这些坑可能会被很多人踩。可能之前很多人在阿里云上...

      本文的内容可能偏运维,不是因为搞这个方向,而是确实存在一些坑,而且这些坑可能会被很多人踩。可能之前很多人在阿里云上配置个ssh反向代理,简单的装个autossh,然后一条命令就搞定了。但是我最近在使用了阿里云的轻应用服务器。但是配置好autossh命令之后,在服务器的防火墙上配置了安全规则之后,发现奇怪的一幕。就是autossh已经配置成功了,在云服务器上使用本地地址和端口可以访问目的主机的ssh了,但是无法通过外网访问。
    阿里云防火墙规则
      首先还是从普通的配置ssh反向代理开始,为了让目的(学校或者家里)的主机能够被其他地方的主机访问,但是目的主机一般都没有公网ip,也就是能够被公网所看到的的ip。但是我们有一台有公网ip的主机(从云服务供应商那里获得的),这个时候我们需要让我们租来的这个公网服务器做一个反向代理。
      如果我们要连接目的主机的ssh服务,但是目的主机的ssh可以开启,还是没有公网ip,主机所使用的的ip早都被路由器过滤掉了。这个时候想要连接,也是通过公网服务器做这个反向代理。
      通俗来说,就是我们让目的主机主动告诉公网主机,我在什么什么地方。因为有公网ip,公网主机是可以被目的主机访问到的。不光告诉你,我在哪,我还用公网主机的一个端口来映射我的一个端口。这样就能建立一个隧道,访问公网主机的这个端口,相当于就是访问目的主机映射的这个端口。
      显然如果目的主机映射的这个端口是ssh端口的时候(一般是22),这样访问公网主机对应的端口,就相当于访问目的ssh端口了。这个隧道可以通过ssh命令+参数来建立,但是又弊端,这里直接越过ssh配置的细节和ssh的原理跳到autossh。

    使用autossh来让目的主机在公网主机上建立这个端口映射

      这里假设目的主机已经安装好autossh,这个时候就可以使用autossh -M 12345 -gfnNTR 公网主机ip:映射端口:localhost:ssh端口 公网主机登录用户名@公网主机ip -o ServerAliveInterval=300。大致解释一下命令的含义公网主机ip就是上面提到的,可以通过任意联网主机访问的主机,一般从云服务提供商那里获得。映射端口表示在公网主机上映射ssh使用的端口。因为是在目的主机上输入这个命令,所以使用的localhost。ssh端口表示要开启ssh服务的主机端口,这个可以设置(默认22)。后面就是和ssh登录一样使用的 登录用户名@公网主机ip
      至于命令中的参数,大部分都是ssh的参数,大家可以不用理会。最后的-o ServerAliveInterval=300表示300秒监听一次,如果这个命令没执行,则运行这个命令。具体原理不细讲。一般这个时候就需要输入公网主机的登录密码了。但是每次执行的时候需要输入密码不方便。
      ssh登录可以免密登录,因为是目的主机请求公网主机代理自己,所以目的主机需要对公网主机有免密登录权限。如何实现,只需要把目的主机的 id_rsa.pub,这个文件一般在各个用户的 ~/.ssh/目录下,需要把这个文件中的内容写入到公网主机的对应用户的~/.ssh/authorized_keys的文件中去。当然也可以通过一条命令,就是ssh-copy-id 公网主机用户名@公网主机ip -p:公网主机ssh对应的端口。执行成功后,可以ssh连接公网主机,看是否配置成功。
      免密登录只需要配置一次,但是每次启动主机之后都需要输入一次autossh命令,当然还有更好的解决方式,就是将autossh放在目的主机的启动命令中。为了开机启动,autossh命令可以写在/etc/init.d/autossh中配置开机启动服务,也可以写在/etc/rc.local脚本文件中,但是这两种方式涉及系统的启动,新手可以跳过。也可以写在crontab中,使用crontab -e写入,不过这里写入就要加执行的时间设置。这个命令不能被写在bashrc或者profile等文件中,因为需要先于这些脚本的执行。
      以下给出一种crontab的配置,不是最优配置,但是可以满足需求的。具体配置参数含义大家自行学习。

    autossh -M 12345 -gfnNTR 公网主机ip:映射端口:localhost:ssh端口 公网主机登录用户名@公网主机ip -o ServerAliveInterval=300
    

      但是autossh命令是通过直接对端口服务进行代理的,这种方式可能会被阿里云禁止,即便代理成功,也是无法通过外网访问相应的服务,这就是我踩的坑了。

    通过frp实现点对点的代理

      因为这些端口并非是真的无法对外开放,只是被做了限制。autossh无法有效穿透内网把服务端口暴露出来。但是可以通过给服务加一层壳的方式,使得服务端口能够暴露出来。至于frp还可以做web服务器的穿透,以及局域网的穿透之类的功能原理类似,这里不详细讲解。建议查阅官方文档。
      要使用frp,首先就是公网服务器和目标服务器都需要安装,安装的过程也是很简单。找好版本,然后直接下载即可。下面给出ubuntu上命令行操作的流程。
      首先在github页面的版本页面,查看相应的版本。事实上这里可以直接在这个页面复制下载地址了。如果是ubuntu系统,则复制_linux_amd64.tar.gz后缀的下载文件。然后得到这样一个地址:https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz,变化的只是中间的两个版本号。
    在这里插入图片描述
      然后到服务器上,可以创建一个/etc/frp目录,通常需要权限。然后执行以下命令进行下载。之后对下载的文件进行解压。

    mkdir /etc/frp
    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz 
    sudo tar xzvf frp_0.33.0_linux_amd64.tar.gz
    cd frp_0.33.0_linux_amd64 #进入解压的目录
    

      接下来就是配置环节。

    frp公网主机配置(服务器)

      公网主机也就是我们的服务器,主要关注frps和frps.ini这两个文件,需要配置的地方就是frps.ini这个配置文件。配置内容如下。

      # frps.ini
      [common]
      bind_port = 7000
    

      注意这个7000,表示frp服务运行的端口,这个端口需要是对外开放的,也就是能够被目标服务器所访问的端口。陪之后之后,然后执行./frps -c ./frps.ini命令,表示在公网主机上启动frps服务,让其作为服务器。
      需要注意的是这个命令执行后,如果遇到断网等情况就会断开连接,还是用到我们后台运行任务的老技术,nohup 或者其他命令行管理工具,如tmux完成。

    frp目标主机的配置(客户机)

      安装是同样的过程,但是在配置上有所差异。这里主要关注frpc和frpc.ini两个文件。配置同样是ini文件,修改他即可。

    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 8000
    

      这里的 server_addr和 server_port写的就是我们的公网主机的地址,和frps服务所运行的端口。然后我们建立一个ssh连接,ssh的协议类型是tcp。我们需要代理的是本机的ssh,下面就写本机的地址,和需要代理的端口。之后remote_port 表示使用公网主机的这个端口来代理我们的服务,这里就是ssh服务。
      然后执行./frpc -c ./frpc.ini``就可以把客户机的frp服务也启动起来,这样就可以通过访问公网主机的8000端口,来访问目标主机的22端口。
      整个配置过程也比较简单,同样是上面的frpc命令可以改为后台任务。防止断掉。
      需要配置web服务或者内网代理也是同样的操作,区别就在于端口的配置上,操作起来也是比较简单,大家有需要可以自行查阅相关文档完成。而且好像有些功能nginx也可以完成。
      文中涉及到的一些linux基础可能详略不当,欢迎大家指出。

    展开全文
  • 一、搭建SSH方向代理 准备:一台外网主机 两台不同内网的主机 局域网主机(虚拟主机): 192.168.6.233 CentOS 6.7 阿里云服务器:120.25.68.60 CentOS 6.7 1. 阿里云服务器120.25.68.60上需要修改sshd_config...

    一、搭建SSH方向代理

    准备:一台外网主机 两台不同内网的主机

    局域网主机(虚拟主机): 192.168.6.233   CentOS 6.7

    阿里云服务器:120.25.68.60   CentOS 6.7

     

    1. 阿里云服务器120.25.68.60上需要修改sshd_config配置文件:

    [root@120.25.68.60 ~]# vi /etc/ssh/sshd_config
    GatewayPorts yes
    [root@120.25.68.60 ~]# service sshd reload
    Reloading sshd: [  OK  ]

    2. 通过局域网虚拟机192.168.6.233 连接到120.25.68.60开启反向端口代理,输入阿里云服务器密码.

    root@192.168.6.233:~ # ssh -CqTfnN -R 0.0.0.0:7233:192.168.6.233:22 root@120.25.68.60
    root@120.25.68.60's password: 

    3.在阿里云服务器120.25.68.60上可以看到这个监听.

    [root@120.25.68.60 ~]# netstat -anp | grep 7233
    tcp        0      0 0.0.0.0:7233                0.0.0.0:*                   LISTEN      2392/sshd  
    tcp        0      0 :::7233                     :::*                        LISTEN      2392/sshd   

    4.现在到其他客户机上连接阿里云服务器120.25.68.60的7233端口,输入局域网虚拟主机192.168.6.233的主机密码.

    [root@192.168.4.194 ~]# ssh -p 7233 root@120.25.68.60
    root@120.25.68.60's password:
    Last login: Thu Mar 24 11:01:15 2016 from 192.168.6.233
    
    
    [root@phpdragon_233 ~]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:50:56:34:8B:4D
              inet addr:192.168.6.233  Bcast:192.168.6.255  Mask:255.255.255.0
              inet6 addr: fe80::250:56ff:fe34:8b4d/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1321125 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1232406 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:450626290 (429.7 MiB)  TX bytes:273698355 (261.0 MiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:524375 errors:0 dropped:0 overruns:0 frame:0
              TX packets:524375 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:43705227 (41.6 MiB)  TX bytes:43705227 (41.6 MiB)

    到这里反向代理的测试完成,功能OK.

     

    二、反向代理无人值守化

    1.设置局域网主机192.168.6.233免密码登录到阿里云120.25.68.60. 参见 https://blog.csdn.net/whatday/article/details/88306485

    ssh-keygen -t rsa -P ''
    scp ~/.ssh/id_rsa.pub root@120.25.68.60:/tmp/id_rsa.pub_233
    ssh -l root 120.25.68.60 cat /tmp/id_rsa.pub_233 >> ~/.ssh/authorized_keys

    2.阿里云服务器编写ssh代理关闭脚本 kill_ssh_agent.sh

    #!/bin/sh
    
    if [ -n "$1" ] && [ "$1" -gt "0" ];then
        PID=$(netstat -anp | grep $1 | awk '/sshd/ && !/awk/{print $7}')
        PID=${PID%%/*}
    
        if [ -n "${PID}" ];then
            kill -9 $PID && exit 0
        fi
    fi
    
    exit 1

    3.客户端编写代理链接守护脚本 ssh_agent_deamon.sh

    #########################################################################
    # File Name: ssh_agent_deamon.sh
    # Author: phpdragon
    # mail: phpdragon@qq.com
    # Created Time: Thu 24 Mar 2016 01:55:49 PM CST
    #########################################################################
    #!/bin/bash
    
    ROMOTE_USERNAME=root
    ROMOTE_SERVER_IP="120.25.68.60"
    ROMOTE_PORT=7233 
    ###[ /sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p'|grep -v 127.0.0.1 ]
    LOCALHOST_IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
    LOCALHOST_PORT=22
    
    while true ;
    do
        PID=$(ssh -l root ${ROMOTE_SERVER_IP}  netstat -anp | grep ${ROMOTE_PORT} | awk '/sshd/ && !/awk/{print $7}')
        PID=${PID%%/*}
        if [ -n "$PID" ] && [ "$PID" -gt "0" ];then
            sleep 30s
        else
            /usr/bin/ssh -l root ${ROMOTE_SERVER_IP} /bin/sh /data/kill_ssh_agent.sh ${ROMOTE_PORT}
            /usr/bin/ssh -CqTfnN -R 0.0.0.0:${ROMOTE_PORT}:${LOCALHOST_IP}:${LOCALHOST_PORT} ${ROMOTE_USERNAME}@${ROMOTE_SERVER_IP}
        fi
    done
    
    exit 0

    4.设置ssh连接为长连接

    vi /etc/ssh/sshd_config
    
    #每1分钟发送一个心跳信号给客户端
    ClientAliveInterval 60
    #最大超时次数,客户端不响应则关闭连接
    ClientAliveCountMax 3

    5.设置为随机启动

    vi /etc/rc.local
    
    /bin/sh /data/ssh_agent_deamon.sh &
    

    到此设置完毕。

    展开全文
  • 服务器只能使用ssh登录,目前电脑上安装了Xshell和...1、先在Xshell上建立一个正常的连接,或者右键打开已有连接的属性也行 2、点击ssh连接下的隧道3、点击添加,弹出转移规则的框,方向类型选择Dynamic的,侦听端口...
  • 内网服务器(ServerA)   IP: 192.168.0.103 ssh端口 22  用户 userA 密码: usr_c123 外网服务器(MyServer):  IP 1.2.3.4 ssh端口 10010  用户 userServer 密码:... 1、登入 192.168.0.103 设置方向代理
  • 一、搭建SSH方向代理准备: 局域网主机(虚拟主机): 192.168.6.233 CentOS 6.7 阿里云服务器:120.25.68.60 CentOS 6.7 阿里云服务器120.25.68.60上需要修改sshd_config配置文件: [root@120.25.68.60 ~]# vi /etc...
  • ------------------------------------------------------------------------ 使用 ssh -R 穿透局域网访问内部服务器主机,反向代理 无人值守化 ...一、搭建SSH方向代理 准备: 局域网主机(虚拟主机...
  • 到目前为止,关于spring中面向切向编程的部分已经有了三种方法,第一种是使用jdk动态代理,第二种是使用cglib手动代理,第三种是使用声明式工厂Bean。目前比较流行的是使用AspectJ开发,使用这种开发方式有两种不同...
  • 架构方向公开课笔记

    2018-03-12 23:18:06
    技术角度:​ 1/ ssh基础上提高​ 2/ 分布式开发 3/ 良好的业务分析能力学习java建议: ​ 1/ 面向对象---> 精通​ a/面向对象: 抽象类和接口的使用和设计​ b/设计模式 : 工厂模式 代理模式 单例模式 ===&...
  • 一个是做典型的j2ee的web开发,采用技术就是ext+SSH,做管理型的web系统; 另一个是纯做后台,包括代理方面的开发,可能涉及的技术就比较杂,WS、socket、多线程等等; 想问有经验的大牛,两个方向的优缺点都是...
  • 文件共享服务端口 端口号 端口说明 攻击方向 21、22、69 Ftp/Tftp文件传输协议 允许匿名的上传、下载、爆破和嗅探 2049 Nfs服务 ... 爆破、SSH隧道及内网代理转发、文件传输 23
  • 文章目录下载渗透过程nmap扫描SSH爆破访问80端口页面 下载 ...安装后以NAT模式运行 攻击机kail和靶机在一个网段 渗透过程 nmap扫描 发现靶机ip为192.168.169....爆破,SSH隧道及内网代理转发,文件传输 先对22端口尝试爆
  • 端口服务及利用简析 文件共享服务端口 端口号 端口说明 利用方向 21/22/69 FTP/TFTP 文件传输协议 ...爆破、SSH隧道及内网代理转发、文件传输 23 Telnet 爆破、嗅探、弱口令 3389 RDP远程桌面连接 Shift后门(Win...
  • 2020-12-31

    2020-12-31 15:53:22
    ssh方向代理配置命令 步骤说明: myssh <–> switch-server <–> remote-server 192.168.11.100 192.168.10.100 192.168.9.100 在remote-server上执行.
  • sftp的作用: 处理器服务器-编辑和操作文件与文件夹 ...密码和ssh秘钥认证SSH代理支持 性能持续连接  文件夹操作 在本地新建文件夹, 右键单击新建文文件夹执行同步操作,弹出配置服务器选项,填写...
  • 确定类型(方向):socks4/5侦听端口:随便设置一个端口,如10803、然后就可以通过跳板机ssh到内网的服务器了4、配置跳扳机为代理,访问内网服务器提供网站,本文以chrom浏览器为例(其他浏览器类似)4.1...
  • 端口以及端口攻击

    2020-02-06 16:31:19
    先来看端口攻击方向吧,这个属于信息收集方面,很多时候我们可以利用nmap进行探测 ...22 ssh:远程连接 爆破OpenSSH,内网代理转发,文件传输 23 telnet:远程连接 爆破\嗅探 25 smtp:邮件服务 ...
  •  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

方向代理ssh