虽然似乎有一些关于如何通过各种防火墙和隧道方案公开JMX的文档,但我有点想要相反.我想确保JMX只能由本地机器访问.不幸的是,似乎"开箱即用"的管理选项不允许将端口限制为本地接口,netstat显示它们在任何/所有接口上进行侦听.
http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdevf
我不得不承认我对JMX中的间接层,RMI注册表,连接器,适配器等感到困惑.
我想打开它,然后通过SSH隧道,而不是将它暴露给世界,然后必须执行艰苦和多余的用户管理和安全配置.能够使用内置的RMI注册表而不必运行外部注册表将是很好的.
我需要创建一个自动设置ssh隧道的脚本.我认为没有密码的专用ssh密钥是一个良好的开端,但我无法找到这是否可能以及如何做到这一点.此密钥应具有有限的权限(仅设置隧道)但我需要另一个私钥(带密码)给自己.
谢谢 !
我想让一个git-daemon通过一个永久的ssh隧道.我完成了这项任务.如何阻止任何与GIT_DAEMON端口的远程无连接连接(在我的情况下为9418)?
我已经在iptables中尝试了简单的规则(阻止除localhost之外的所有内容):
$ iptables -A INPUT -p tcp -d ! localhost --destination-port 9418 -j DROP
Run Code Online (Sandbox Code Playgroud)
但它也会阻塞隧道(因为它节省了源IP地址).如果我还有一个主机用于防火墙,可以通过阻止与该端口的任何远程连接来完成,但我需要这个主机来完成这项工作.
隧道以两种方式之一创建:
对于Windows:
plink.exe -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69
Run Code Online (Sandbox Code Playgroud)
对于Linux:
ssh -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69
Run Code Online (Sandbox Code Playgroud) 我正在尝试在python中创建一个http代理.到目前为止,除了https工作之外,我已经得到了所有东西,因此下一步是实现CONNECT方法.
我对进行https隧道传输时需要发生的事件链稍微感到困惑.从我的理解,我应该有这个连接到谷歌:
Broswer - >代理
CONNECT www.google.co.uk:443 HTTP/1.1\r\n\r\n
Run Code Online (Sandbox Code Playgroud)
然后代理应建立与google.co.uk的安全连接,并通过发送确认:
代理 - >浏览器
HTTP/1.1 200 Connection established\r\n\r\n
Run Code Online (Sandbox Code Playgroud)
在这一点上,我希望浏览器现在可以继续执行它首先要做的事情,但是,我要么什么也得不到,或者得到一串我无法解码的字节().我一直在阅读任何与ssl隧道有关的事情,我想我应该将所有字节从浏览器转发到服务器,以及相反的方式.但是,当这样做时,我得到一个:
HTTP/1.0 400 Bad Request\r\n...\r\n
Run Code Online (Sandbox Code Playgroud)
一旦我发送了200个代码,接下来我应该做什么?
我的connect方法的代码片段:
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if headers["Method"] == "CONNECT":
client = ssl.wrap_socket(client)
try:
client.connect(( headers["Host"], headers["Port"] ))
reply = "HTTP/1.0 200 Connection established\r\n"
reply += "Proxy-agent: Pyx\r\n"
reply += "\r\n"
browser.sendall( reply.encode() )
except socket.error as err:
print(err)
break
while True:
now not sure
Run Code Online (Sandbox Code Playgroud)
非常感谢帮助!
我正在serverA:8890上运行Web服务,其中包括常规HTTP服务和websocket服务。我正在尝试设置从serverB到serverA的SSH端口转发,以便可以通过SSH隧道访问ServerA的服务。
这是我的命令:“ ssh -f user @ serverA -i user.pem -L 2000:serverB:8890 -N”
当我连接到ServerB:2000时,可以看到所有常规的Web服务,但是websocket部分无法正常工作。
任何想法如何解决这个问题?
谢谢
我只是第一次连接到VPN服务器时出现"Error Domain = NEVPNErrorDomain Code = 1 \"(null)\"",以后它可以正常工作.
我在尝试启动类似于我的问题的TunnelProvider网络扩展时检查了NEVPNErrorDomain错误1,并按照其在此解决方案中说的方式但仍然得到相同的错误.
所以这是我使用网络扩展连接到VPN服务器的代码.
func initVPNTunnelProviderManager(){
self.vpnManager.loadFromPreferences { (error) -> Void in
if((error) != nil) {
print("VPN Preferences error: 1")
}
else {
let p = NEVPNProtocolIKEv2()
p.username = "******"
p.remoteIdentifier = "*****"
p.serverAddress = "******"
let keychain = KeychainSwift()
let data = keychain.getData("vpnPassword")
p.passwordReference = data
p.authenticationMethod = NEVPNIKEAuthenticationMethod.none
p.useExtendedAuthentication = true
p.disconnectOnSleep = false
self.vpnManager.protocolConfiguration = p
self.vpnManager.isEnabled = true
self.vpnManager.saveToPreferences(completionHandler: { (error) -> Void in …Run Code Online (Sandbox Code Playgroud) 我在我远程进入的服务器上运行ngrok.
我通过使用明显的,开始它ngrok.exe http 80.问题是,当我在该特定服务器上签名时,ngrok将关闭,我将丢失我的隧道.有没有办法让我的ngrok隧道保持运行,即使我已经签署了机器?我知道如果机器关闭,我无法做任何事情来保持隧道运行,这是显而易见的.有任何想法吗?
提前致谢.
我是红移新手。目前,我可以创建一个 redshift 集群并通过 SQL Workbench 连接它,但我期待着ssh从我的 MAC 终端隧道化我的 redshift 集群。我做了一些研究,并能够创建一个具有相同 VPC ID 和子网组的 ec2 实例,我用它来创建 Redshift 集群。我也已经在我的 ec2 实例上安装了 psql。当我使用 psql 命令连接到 redshift 时,我无法理解哪里出了问题:
psql -h my redshift endpoint -p 5439 -d database name -U user -c " my query "
Run Code Online (Sandbox Code Playgroud)
它给我错误 psql: 无法将主机名“my redshift端点”翻译为地址: 名称或服务未知
tunnel amazon-ec2 amazon-web-services ssh-tunnel amazon-redshift
如果我们有以下情况:
[笔记本电脑] ---- [主机1] ---- [主机2] ----[目标]
其中,host1 可以从我的笔记本电脑访问,host2 可以从 host1 访问,而目标只能从 host2 访问。我们拥有 host1 和 host2 的 ssh 凭据。
我们可以使用以下命令来使用动态端口转发:
ssh -N -D 127.0.0.1:8282 主机1_帐户@主机1
这基本上会创建一个 SOCKS4,我们可以将其与 proxychains 一起使用,以便该命令可以在 kali 设备上运行:
proxychains ssh host2_account@host2
我们如何才能建立一个从主机2到目标的类似(附加?)动态隧道?
我的问题与此完全相同。但再次复制问题供您参考::
\n我面临的问题是我无法使用浏览器的 IP 访问 Minikube Ingress。我已经在 Windows 10 Home 上安装了 Minikube,并使用 docker driver( ) 启动了 minikube minikube start --driver=docker。
\n\n系统信息:
\nWindows 10 家庭版
\nMinikube(v1.18.1)
\nDocker(minikube 驱动程序)- Docker\n引擎版本 20.10.5
\n
我正在关注这个官方文档 - https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
\n首先,我通过在 Minikube 上运行以下命令来创建部署。
\nkubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
部署已创建,如下图所示:在此处输入图像描述
\n\n接下来,我公开了上面创建的部署。为此,我运行了以下命令。
\nkubectl expose deployment web --type=NodePort --port=8080
这创建了一个服务,可以通过运行以下命令查看该服务:
\nkubectl get service web\n服务截图如下:\n
minikube service web
tunnel ×10
ssh ×5
port ×2
amazon-ec2 ×1
connect ×1
docker ×1
forwarding ×1
http ×1
ios ×1
jmx ×1
kubernetes ×1
linux ×1
minikube ×1
nevpnmanager ×1
ngrok ×1
proxy ×1
public-key ×1
python ×1
security ×1
ssh-tunnel ×1
tomcat ×1
vpn ×1
websocket ×1