本文主要是介绍linux服务器配置隧道,安装与使用Mole在Linux CLI上创建SSH隧道的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文介绍安装使用Mole在Linux CLI上创建SSH隧道,这是一个简单可行的方法,Mole工具将帮助你轻松创建到远程服务器的SSH隧道。
Mole简介
Mole是一个cli应用程序,用于创建ssh隧道,通过ssh服务器将本地端口转发到远程端点,只要用户具有对可访问目标计算机或服务的计算机的ssh访问权限,Mole就可以帮助你访问被防火墙阻止的计算机和服务。
使用Mole还可以在端口转发的帮助下访问仅在本地地址上侦听的服务,另请注意,服务器和远程计算机可能是同一台计算机。
在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
附:用法
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
输出如下图:
示例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服务器:
要删除SSH隧道,请运行:
$ mole -delete -alias tunnel1
至此,我希望上面这几个示例有助于你创建到远程服务器的SSH隧道。
相关主题
这篇关于linux服务器配置隧道,安装与使用Mole在Linux CLI上创建SSH隧道的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!