精华内容
下载资源
问答
  • 反向ssh
    2021-05-16 12:48:07

    我可以使用每个连接的端口接受来自单个服务器上多个远程系统的反向SSH连接:

    Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22

    Remote B: ssh -fN -R5001:localhost:22 user@server-ip -p22

    Remote C: ssh -fN -R5002:localhost:22 user@server-ip -p22

    我可以根据需要从本地客户端访问这些系统:

    Access Remote A: ssh root@server-ip -p5000

    Access Remote B: ssh root@server-ip -p5001

    这需要在服务器上为每个远程系统转发一个端口.当100个遥控器连接时,除了在服务器防火墙中打开100个端口以及如上所述静态地将每个遥控器分配给端口之外,我还有其他选择吗?我的目标是启用多个遥控器按需创建隧道,在那里我可以查询谁连接.

    我发现sslh是一个多路复用器,它可以根据协议区分单个端口上的流量,但这仅适用于不同的协议,例如. SSL / SSH.是否有允许单个端口上有多个隧道的解决方案?

    例:

    Remote A: ssh -fN -R5000:localhost:22 user@server-ip -p22 -identifier abc123

    Remote B: ssh -fN -R5000:localhost:22 user@server-ip -p22 -identifier def456

    access Remote A: ssh root@server-ip -p5000 -identifier abc123

    access Remote B: ssh root@server-ip -p5000 -identifier def456

    更多相关内容
  • Reverse_SSH_Shell 用python编写的反向ssh外壳,供渗透测试人员用作Windows上的隐蔽通道要求: python开发隐密帕拉米科摩尔信息:
  • ssh反向隧道Eny Setiyowati/Shutterstock.comEny Setiyowati / Shutterstock.comNeed to SSH to an unreachable Linux computer? Have it call you, then burrow down that connection to get your own remote SSH ...
    ssh反向隧道

    ssh反向隧道

    SSH prompt on a laptop
    Eny Setiyowati/Shutterstock.com Eny Setiyowati / Shutterstock.com

    Need to SSH to an unreachable Linux computer? Have it call you, then burrow down that connection to get your own remote SSH session. We show you how.

    需要通过SSH连接到无法访问Linux计算机吗? 让它打电话给您,然后深入该连接以获取您自己的远程SSH会话。 我们向您展示如何。

    当您想使用反向SSH隧道时 (When You’ll Want to Use Reverse SSH Tunneling)

    Sometimes, remote computers can be hard to reach. The site they are located at may have tight firewall rules in place, or perhaps the local admin has set up complex Network Address Translation rules. How do you reach such a computer if you need to connect to it?

    有时,远程计算机可能很难到达。 他们所在的站点可能具有严格的防火墙规则,或者本地管理员已经设置了复杂的网络地址转换规则。 如果需要连接到这样的计算机,该如何找到它?

    Let’s establish some labels. Your computer is the local computer because it is near you. The computer you are going to connect to is the remote computer because it is in a different location than you.

    让我们建立一些标签。 您的计算机是本地计算机,因为它在您附近。 您要连接的计算机是远程计算机,因为它与您的位置不同。

    To differentiate between the local and remote computers used in this article, the remote computer is called “howtogeek” and is running Ubuntu Linux (with purple terminal windows). The local computer is called “Sulaco” and is running Manjaro Linux (with yellow terminal windows).

    为了区分本文中使用的本地计算机和远程计算机,该远程计算机称为“ howtogeek”,并运行Ubuntu Linux(带有紫色终端窗口)。 本地计算机称为“ Sulaco”,并且正在运行Manjaro Linux(带有黄色的终端窗口)。

    Normally you’d fire up an SSH connection from the local computer and connect to the remote computer. That isn’t an option in the networking scenario we’re describing. It really doesn’t matter what the specific network issue is—this is useful whenever you can’t SSH straight to a remote computer.

    通常,您需要从本地计算机启动SSH连接,然后连接到远程计算机。 在我们描述的网络场景中,这不是一个选择。 实际上,具体的网络问题是什么都没关系-每当您无法直接通过SSH直接连接到远程计算机时,此功能就很有用。

    But if the networking configuration on your end is straightforward, the remote computer can connect to you. That alone isn’t sufficient for your needs, however, because it doesn’t provide you with a working command-line session on the remote computer. But it is a start. You have an established connection between the two computers.

    但是,如果您一端的网络配置很简单,则远程计算机可以连接到您。 但是,仅凭此一项不足以满足您的需求,因为它不能为您提供远程计算机上有效的命令行会话。 但这是一个开始。 您在两台计算机之间建立了连接。

    The answer lies in reverse SSH tunneling.

    答案在于反向SSH隧道。

    什么是反向SSH隧道? (What Is Reverse SSH Tunneling?)

    Reverse SSH tunneling allows you to use that established connection to set up a new connection from your local computer back to the remote computer.

    反向SSH隧道允许您使用已建立的连接来建立从本地计算机到远程计算机的新连接。

    Because the original connection came from the remote computer to you, using it to go in the other direction is using it “in reverse.” And because SSH is secure, you’re putting a secure connection inside an existing secure connection. This means your connection to the remote computer acts as a private tunnel inside the original connection.

    因为原始连接是远程计算机您的,所以将其用于另一个方向就是“反向”使用它。 而且由于SSH是安全的,因此您要将安全连接放在现有的安全连接中。 这意味着您与远程计算机的连接充当原始连接内的专用隧道。

    And so we arrive at the name “reverse SSH tunneling.”

    因此,我们将其命名为“反向SSH隧道”。

    它是如何工作的? (How Does It Work?)

    Reverse SSH tunneling relies on the remote computer using the established connection to listen for new connection requests from the local computer.

    反向SSH隧道依赖于使用已建立连接的远程计算机来侦听来自本地计算机的新连接请求。

    The remote computer listens on a network port on the local computer. If it detects an SSH request to that port, it relays that connection request back to itself, down the established connection. This provides a new connection from the local computer to the remote computer.

    远程计算机在本地计算机上的网络端口上侦听。 如果它检测到对该端口的SSH请求,则会通过已建立的连接将该连接请求中继回自身。 这提供了本地计算机远程计算机的新连接。

    It’s easier to set up than it is to describe.

    设置起来比描述起来容易。

    使用SSH反向隧道 (Using SSH Reverse Tunneling)

    SSH will already be installed on your Linux computer, but you may need to start the SSH daemon (sshd) if the local computer has never accepted SSH connections before.

    SSH已经安装在Linux计算机上,但是如果本地计算机以前从未接受过SSH连接,则可能需要启动SSH守护程序(sshd)。

    sudo systemctl start sshd
    
    sudo systemctl start sshd in a terminal window

    To have the SSH daemon start each time you reboot your computer, use this command:

    要在每次重新引导计算机时启动SSH守护程序,请使用以下命令:

    sudo systemctl enable sshd
    
    sudo systemctl enable sshd in a terminal window

    On the remote computer, we use the following command.

    在远程计算机上,我们使用以下命令。

    • The -R (reverse) option tells ssh that new SSH sessions must be created on the remote computer.

      -R (反向)选项告诉ssh必须在远程计算机上创建新的SSH会话。

    • The “43022:localhost:22” tells ssh that connection requests to port 43022 on the local computer should be forwarded to port 22 on the remote computer. Port 43022 was chosen because it is listed as being unallocated. It isn’t a special number.

      “ 43022:localhost:22”告诉ssh ,到本地计算机上的端口43022的连接请求应转发到远程计算机上的端口22。 选择端口43022是因为它被列为未分配。 这不是一个特殊的数字。

    • dave@sulaco.local is the user account the remote computer is going to connect to on the local computer.

      dave@sulaco.local是远程计算机要在本地计算机上连接的用户帐户。
    ssh -R 43022:localhost:22 dave@sulaco.local
    
    ssh -R 43022:localhost:22 dave@sulaco.local in a terminal window

    You may get a warning about having never connected to the local computer before. Or you may see a warning as the connection details are added to the list of recognized SSH hosts. What you see—if anything—depends on whether connections have ever been made from the remote computer to the local computer.

    您可能会收到有关从未连接过本地计算机的警告。 或者,因为连接详细信息已添加到已识别的SSH主机列表中,您可能会看到一条警告。 您看到的内容(如果有)取决于是否从远程计算机到本地计算机建立了连接。

    You will be prompted for the password of the account you are using to connect to the local computer.

    系统将提示您输入用于连接到本地计算机的帐户的密码。

    SSH connection details in a terminal window

    Note that when the connection has been made the command prompt changes from dave@howtogeek to dave@sulaco.

    请注意,建立连接后,命令提示符将从dave @ howtogeek更改为dave @ sulaco。

    We’re now connected to the local computer from the remote computer. That means we can issue commands to it. Let’s use the who command to see the logins on the local computer.

    现在,我们已从远程计算机连接到本地计算机。 这意味着我们可以向其发出命令。 让我们使用who命令查看本地计算机上的登录名。

    who
    
    the who command in a terminal window

    We can see that the person with the user account called dave has logged in to the local computer, and the remote computer has connected (using the same user credentials) from IP address 192.168.4.25.

    我们可以看到,具有名为dave的用户帐户的人员已登录到本地计算机,并且远程计算机已从IP地址192.168.4.25连接(使用相同的用户凭据)。

    连接到远程计算机 (Connecting to the Remote Computer)

    Because the connection from the remote computer is successful, and it is listening for connections, we can try to connect to the remote computer from the local one.

    因为来自远程计算机的连接成功,并且正在侦听连接,所以我们可以尝试从本地计算机连接到远程计算机。

    The remote computer is listening on port 43022 on the local computer. So—somewhat counter-intuitively—to make a connection to the remote computer, we ask ssh to make a connection the local computer, on port 43022. That connection request will be forward to the remote computer.

    远程计算机正在侦听本地计算机上的端口43022。 因此,出于某种与直觉相反的方式,要与远程计算机建立连接,我们要求ssh在端口43022上与本地计算机建立连接。该连接请求将转发至远程计算机。

    ssh localhost -p 43022
    
    ssh localhost -p 43022 in a terminal window

    We are prompted for the user account password, then connected to the remote computer from the local computer. Our Manjaro computer happily says, “Welcome to Ubuntu 18.04.2 LTS”.

    系统提示您输入用户帐户密码,然后从本地计算机连接到远程计算机。 我们的Manjaro计算机愉快地说:“欢迎使用Ubuntu 18.04.2 LTS”。

    reverse ssh tunnel connection to remote computer

    Note that the command prompt has changed from dave@sulaco to dave@howtogeek. We’ve achieved our goal of making an SSH connection to our hard-to-reach remote computer.

    请注意,命令提示符已从dave @ sulaco更改为dave @ howtogeek。 我们已经实现了与难以访问的远程计算机建立SSH连接的目标。

    通过密钥使用SSH (Using SSH With Keys)

    To make it more convenient to connect from the remote computer to the local computer, we can set up SSH keys.

    为了使从远程计算机到本地计算机的连接更加方便,我们可以设置SSH密钥。

    On the remote computer, type this command:

    在远程计算机上,键入以下命令:

    ssh-keygen
    
    ssh-keygen in a terminal window

    You will be prompted for a passphrase. You can press Enter to ignore the passphrase questions, but this is not recommended. It would mean that anyone on the remote computer could make an SSH connection to your local computer without being challenged for a password.

    系统将提示您输入密码。 您可以按Enter键忽略密码短语问题,但是不建议这样做。 这意味着远程计算机上的任何人都可以与本地计算机建立SSH连接,而无需输入密码。

    Three or four words separated by symbols will make a robust passphrase.

    由符号分隔的三个或四个单词将构成一个可靠的密码短语。

    ssh key generation in a terminal window

    Your SSH keys will be generated.

    将会生成您的SSH密钥。

    We need to transfer the public key to the local computer. Use this command:

    我们需要将公钥转移到本地计算机。 使用此命令:

    ssh-copy-id dave@sulaco.local
    
    ssh-copy-id dave@sulaco.local in a terminal window

    You will be prompted for the password for the user account you are logging in to, in this case, dave@sulaco.local.

    系统将提示您输入要登录的用户帐户的密码,在本例中为dave@sulaco.local。

    transferring SSH keys to the local computer in a terminal window

    The first time you make a connection request from the remote computer to the local computer, you will have to provide the passphrase. You will not have to enter it again for future connection requests, for as long as that terminal window remains open.

    第一次从远程计算机向本地计算机发出连接请求时,必须提供密码。 只要该终端窗口保持打开状态,您就不必为以后的连接请求再次输入它。

    passphrase request dialog box

    并非所有隧道都令人恐惧 (Not All Tunnels Are Scary)

    Some tunnels can be dark and twisty, but reverse SSH tunneling isn’t too hard to navigate if you can keep the relationship between the remote computer and local computer straight in your head. Then reverse it.

    有些隧道可能是黑暗而曲折的,但是如果您可以将远程计算机和本地计算机之间的关系摆在脑海中,那么反向SSH隧道就不太难导航。 然后将其反转。

    翻译自: https://www.howtogeek.com/428413/what-is-reverse-ssh-tunneling-and-how-to-use-it/

    ssh反向隧道

    展开全文
  • 主要给大家介绍了使用反向ssh从外网访问内网主机的方法,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下来要起看看吧。
  • Bash脚本可轻松设置反向ssh隧道,以便将ssh传递到nat后面的主机 您必须安装sqlite3和autossh Debian / Ubuntu apt安装sqlite3 autossh CentOS yum安装sqlite3 autossh 安装完所有内容后,您将在服务器上运行并...
  • 隧道 反向 SSHSSH 隧道。 请阅读我的博客文章以获取更多信息: :
  • 反向ssh

    2016-09-14 00:18:43
    如果这个时候有台ssh服务器C并且他有公网IP,那么B可以通过反向ssh通道访问A。 A ubuntu 192.168.1.110 22 root 123456 B win7 C ubuntu 115.216.148.183 6002 root 1qaz2wsx 1、在B机上打开ssh登录C机

    在办公室的电脑上(B机)是无法访问家里的Ubuntu机器(A机),因为网络的原因。如果这个时候有台ssh服务器C并且他有公网IP,那么B可以通过反向ssh通道访问A。


    A ubuntu 192.168.1.110 22 root 123456

    B win7

    C ubuntu 115.216.148.183 6002 root 1qaz2wsx


    1、在B机上打开ssh登录C机器;

    2、在A机终端输入:ssh -R 18888:localhost:22 root@115.216.148.183 -p 6002  

    说明:

    18888为C机与A机通信端口,由这里而设置;

    localhost即本机的意思,照写即可;

    22为A机的ssh服务端口号,根据实际而定;

    root为访问C机的用户名,即ssh登录时的用户名;

    115.216.148.183为C机IP,为公网IP;

    6002为C机ssh服务端口号

    root@115.216.148.183 -p 6002这一句其实就是A机登录C机的ssh服务所需信息

    键入后、链接上C机,则提示输入密码,即C机的ssh登录密码。

    2、在B机ssh客户端上输入(实际即在C机的终端输入)

     ssh localhost -p 18888

    表示接受18888端口的ssh访问,链接后提示输入密码,机A机的ssh登录密码。

    输入密码后,ssh客户端实际已转入A机的环境,至此ssh反向隧道已打通。


    传输文件:

    在ssh客户端键入rz弹出打开文件对话框,若提示rz指令找不到则输入apt-get install lrzsz

    切记:时刻记着当前ssh客户端对应哪台机器的终端。


    确保ssh不掉线

    autossh -M 5678 -NR 18888:localhost:22 root@115.216.148.183 -p 6002  


    展开全文
  • app-ssh-reverse 反向ssh 运行插件后,点击开始即可开启反向代理 为了开启SSH端口转发,我贡献出了我的VPS,开源了可登录我的VPS的私钥,大家请善待之。。
  • 今天尝试了一种简单快捷的方式,通过nginx做转发,反向ssh隧道实现内网穿透。 1、nginx安装与配置。 下载安装: which nginx 查看是否安装 wget http://nginx.org/download/nginx-1.8.0.tar.gz 下载 tar -zxvf...

    上次提到可以通过frp进行内网穿透。 今天尝试了一种简单快捷的方式,通过nginx做转发,反向ssh隧道实现内网穿透。

    1、nginx安装与配置。

    下载安装:

    which nginx  查看是否安装

    wget http://nginx.org/download/nginx-1.8.0.tar.gz  下载

    tar -zxvf nginx-1.8.0.tar.gz  解压

    ./configure   配置生效

    make && make install   编译安装

    目录结构:

    配置:    外网暴露端口: 8999

    启动:

    cd   /usr/local/nginx/sbin  执行 ./nginx
    ps -ef | grep nginx    查看状态
    ./nginx -s stop  关闭

    ./nginx -s reload 重启

    查看nginx是否启动成功: ps -ef | grep nginx  或 netstat -anp | grep :80  或 ps -C nginx -o pid

       

    2、反向ssh隧道配置。

    配置隧道,源主机为远端服务器,目标主机为内网设备服务:

    开启跟踪,反向监听:

    反向隧道连接成功:

    3、访问验证。

    内网访问示例:

    外网穿透访问内网成功示例:

    PS=>

    可以参考: https://blog.csdn.net/fangdengfu123/article/details/82732368?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

                       https://blog.csdn.net/qq_43825308/article/details/103652595

                       

    展开全文
  • 基于反向SSH的跨局域网远程数据连接方法.pdf
  • SSHTunnelHandler
  • 节点反向隧道服务创建到养蜂人的反向ssh隧道创建deb包./release.sh注意:在OSX下,此脚本将自动使用Docker。
  • 利用反向SSH从外网访问内网服务器

    千次阅读 2018-10-10 15:50:11
    最近新找到一个办法,就是利用外网服务器以及反向SSH搭一条通道,使得可以利用外网的服务器登录内网的服务器。简单理解,既然外网无法找到内网的服务器的IP,那就内网服务器自己寻找外网的服务器,主动搭建SSH通道,...
  • 反向ssh实现外网访问内网 问题 现有两台机子A和B,B有公网ip而A没有,目标是让B能ssh到A。 策略 我们要做的就是将A的22端口映射到B的某一端口,就假设是12345吧; 虽然B不知道A是谁,但是A知道B(因为B有公网IP),...
  • 利用SSH技术构建了喜旱莲子草雌雄同花和雄蕊心皮化花序的正反向基因表达的cDNA文库.对文库部分克隆分析发现,EST功能涉及花性别发育、细胞代谢、生长发育、抗性适应、转录调控、酶调节、叶绿体和胞质基因、细胞内...
  • 反向SSH实现内网穿透

    2020-04-07 21:53:39
    挺好用,还没来得及整理 https://cycoe.cc/2019/04/30/%E5%8F%8D%E5%90%91SSH%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/
  • 外网访问内网的解决方案--反向SSH

    千次阅读 2018-05-24 20:08:15
    5、这种反向代理是不稳定的 1、SSH介绍: A要与B通信 A生成一对密钥 A将公钥发送给B B拿到公钥,生成一个随机密码串(对称加密的key,用于认证完成后的通信),并用公钥加密这个密码串,发送给A A拿到密文,用...
  • centos7使用反向ssh隧道实现内网穿透 1.把内网22端口映射到外网服务器的1688端口上,实现通过外网服务器连接到内网机器。 在内网服务器上执行: ssh -fN -R 公网服务器ip:1688:localhost:22 root@公网公网服务器ip ...
  • 当你学会如何建立一个反向 SSH 隧道,如何保证这条隧道持续运行不断开呢?毕竟,如果隧道不是一直有效,你就不能可靠的登录到你的内网服务器。对于永久隧道,我打算使用一个叫 autossh 的工具。正如名字暗示的,这个...
  • 反向SSH

    2017-07-17 14:27:05
    vim /etc/ssh/sshd_config add GatewayPorts clientspecified sudo /etc/init.d/ssh restart sudo netstat -nap | grep 10022 test ssh -p 10022 yeshen @192 . 168.0 . 92
  • 先说ssh反向连接,这种连接方式适用于被访问的机器不能暴露于公共网络的情况,ssh可以链接到一个公开的服务器的一个端口,然后只要你能链接到这个公共服务器的端口,就可以想正常使用ssh一样访问客户机了,示意图...
  • 使用golang反向SSH

    2015-10-09 14:15:10
    <p>The idea is to establish a connection from the remote computer to the server and use this connection to communicate via SSH from the server to the remote computer. <p>With OpenSSH this is quite ...
  • 这是用于创建半永久性(客户端尽最大努力检测错误,使用keepalive并进行重新连接)SSH反向隧道的独立二进制文件。 您可以将本机OpenSSH服务器用作服务器,也可以将 server用作服务器,可以提供一些更可选功能,...
  • TRY HACK ME | GAME ZONE 「SQLMAP+利用反向SSH提权」 THM靶场:GAME ZONE TASK1 通过 SQLi 获取访问权限 TASK2 使用SQLMAP TASK3 使用反向 SSH 隧道暴露服务 GAME ZONE 靶场通关小结 THM靶场:GAME ZONE 该房间...
  • 现在你想在外出时用 SSH 登录到这台服务器。你如何才能做到呢?SSH 端口转发当然是一种选择。但是,如果你需要处理多级嵌套的 NAT 环境,端口转发可能会变得非常棘手。另外,在多种 ISP 特定条件下可能会受到干扰,...
  • 前提条件: 1. 客户机(Client):基于arm...1. 串口或者本地网络口登录客户机(Client), 编辑 /etc/ssh/sshd_config文件, 修改配置文件 PermitRootLoginprohibit-password 改为:PermitRootLogin yes, 修改完了...
  • 什么是ssh反向连接? 反向连接是指主机A(受控端)主动连接主机B(控制端),在主机A和主机B之间建立一个远程连接,通过这个连接主机B可以主动的向主机A发送一些请求。 应用场景 1、平时我们登录远程服务器,一般...
  • Linux 反向连接ssh

    2020-01-30 10:24:40
    学校内网需要翻墙才能够连接上就很麻烦,于是搜了搜,果然有反向连接这种东西。 具体原理就是内网可以访问外网,所以内网用ssh反过来监听外网服务器上的连接,这样外网就可以连到内网了。 踩了不少坑,主要是端口...
  • CentOS7通过反向SSH隧道(Reverse SSH Tunneling) 实现内网穿透 1、By default, SSH daemon is only listening on 127.0.0.1, so we won’t be able to access to our forwarded ports from outside. To get it ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,887
精华内容 11,954
关键字:

反向ssh