linux服务器配置隧道,安装与使用Mole在Linux CLI上创建SSH隧道的方法

2023-11-10 16:40

本文主要是介绍linux服务器配置隧道,安装与使用Mole在Linux CLI上创建SSH隧道的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍安装使用Mole在Linux CLI上创建SSH隧道,这是一个简单可行的方法,Mole工具将帮助你轻松创建到远程服务器的SSH隧道。

Mole简介

Mole是一个cli应用程序,用于创建ssh隧道,通过ssh服务器将本地端口转发到远程端点,只要用户具有对可访问目标计算机或服务的计算机的ssh访问权限,Mole就可以帮助你访问被防火墙阻止的计算机和服务。

7e2b8e5323ced543a214f65855820e25.png

使用Mole还可以在端口转发的帮助下访问仅在本地地址上侦听的服务,另请注意,服务器和远程计算机可能是同一台计算机。

b42bf31abc03b4bdd04541124fbe983d.png

在Linux/macOS系统上安装Mole

在Linux上安装Mole是通过可以使用curl下载的安装脚本(可参考在Linux系统中运行.sh文件的两种方法):

curl -O https://raw.githubusercontent.com/davrodpin/mole/master/tools/install.sh

下载脚本后,将其设为可执行文件然后安装:

chmod +x install.sh

./install.sh

此脚本将在/usr/local/bin下安装mole,但它需要管理员权限才能部署该文件,可能需要输入你的sudo密码。

你可以使用以下命令确认文件位置和版本:

$ which mole

/usr/local/bin/mole

$ mole --version

mole 0.2.0

要查看帮助页面,请使用--help选项:

$ mole --help

53e81f5f2326c4300ff2a57231d9d849.png

附:用法

mole [-v] [-local []:] -remote []: -server [@][:] [-key ]

mole -alias [-v] [-local []:] -remote []: -server [@][:] [-key ]

mole -alias -delete

mole -start

mole -help

mole -version

使用Mole创建SSH隧道

让我们看几个关于如何使用Mole创建SSH隧道的示例。

示例1:提供所有支持的选项

使用以下详细信息创建隧道:

在localhost端口8080上

使用别名tunnel1

到服务器IP 192.168.18.50:80

远程ssh用户是vagrant,使用的SSH服务器是192.168.18.51:22

身份验证方法是公共/私有SSH密钥

SSh公钥位置~/.ssh/test_rsa.pub

SSH私钥~/.ssh/test_rsa

需要将Public ssh密钥复制到用于隧道的远程SSH服务器:

$ ssh-copy-id -i ~/.ssh/test_rsa.pub vagrant@192.168.18.51

通过对服务器执行ssh导入远程SSH服务器指纹:

$ ssh -i ~/.ssh/test_rsa.pub vagrant@192.168.18.51

现在创建一个隧道:

$ mole -alias tunnel1 -v -local 127.0.0.1:8080 \

-remote 192.168.18.50:80 \

-server vagrant@192.168.18.51 \

-key ~/.ssh/test_rsa

要启动隧道,请使用:

$ mole -start tunnel1

输出如下图:

9e13566b66b9f9be7c61cef86b0285e9.png

示例2:使用ssh配置文件查找给定的服务器主机

你可以将远程SSH服务器的ssh配置添加到~/.ssh/config,然后在运行mole时调用其名称:

$ cat .ssh/config

Host rserver1

Hostname 192.168.18.51

User vagrant

Port 22

IdentityFile ~/.ssh/test_rsa

然后创建一个隧道:

$ mole -alias tunnel1 -v -local 127.0.0.1:8080 \

-remote  192.168.18.50:80 \

-server rserver1

你也可以使用:8080而不是127.0.0.1:8080:

$ mole -alias tunnel1 -v -local :8080 \

-remote 192.168.18.50:80 \

-server rserver1

$ mole -start tunnel1

远程服务器端口相同:

$ mole -alias tunnel1 -v -local 127.0.0.1:8080 \

-remote :80 \

-server rserver1

示例3:让mole随机选择局部终点

你应该注意到我们使用选项-local 127.0.0.1:8080指定了用于隧道传输流量的本地端口8080。 Mole可以为你随机选择未使用的TCP端口。

为此,示例2将更改为:

$ mole -alias tunnel1 -remote 192.168.18.50:80 -server rserver1

$ mole -start tunnel1

将打印出要访问的本地地址:

INFO listening on local address local_address="127.0.0.1:36683"

确认你可以使用隧道访问远程服务器上的Web服务器:

75e1a94cde2926f89429cd8d6f267c94.png

要删除SSH隧道,请运行:

$ mole -delete -alias tunnel1

至此,我希望上面这几个示例有助于你创建到远程服务器的SSH隧道。

相关主题

这篇关于linux服务器配置隧道,安装与使用Mole在Linux CLI上创建SSH隧道的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/383949

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API