PageSourceSearch

https://edgemesh.netlify.app/assets/js/v-613dc7e3.731c62f9.js

js edgemesh.netlify.app collected 2026-10-03 10:41:02 UTC 3,444 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[270],{5460:(e,t,o)=>{o.r(t),o.d(t,{data:()=>n});const n={key:"v-613dc7e3",path:"/proposal/edgemesh-ssh-proposal.html",title:"Motivation",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"Architecture",slug:"architecture",children:[]},{level:2,title:"Workflow",slug:"workflow",children:[]}],filePathRelative:"proposal/edgemesh-ssh-proposal.md",git:{updatedTime:1684140832e3,contributors:[]}}},4472:(e,t,o)=>{o.r(t),o.d(t,{default:()=>k});var n=o(6252),r=o(5912);const a=(0,n._)("h1",{id:"motivation",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#motivation","aria-hidden":"true"},"#"),(0,n.Uk)(" Motivation")],-1),i=(0,n._)("ol",null,[(0,n._)("li",null,"Since edge nodes are generally distributed in an environment without public IP, remote operation and maintenance cannot be performed well. In daily management work, it is often necessary to go to the location of the node, which is very troublesome."),(0,n._)("li",null,"The network bandwidth of the edge node is not particularly good, if a large-scale upgrade is required. The time for each node to pull the image is also very long, and it is not possible to know the status of the node in the cloud."),(0,n._)("li",null,"It is also impossible to view the edgecore logs conveniently in the cloud, and when you encounter problems, you cannot effectively manage the edgecore. If you need to change or upgrade the edgecore configuration, you must go to the node location.")],-1),l=(0,n._)("h1",{id:"goal",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#goal","aria-hidden":"true"},"#"),(0,n.Uk)(" Goal")],-1),s=(0,n._)("ul",null,[(0,n._)("li",null,"Support SSH login between nodes")],-1),h=(0,n._)("h1",{id:"design-detail",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#design-detail","aria-hidden":"true"},"#"),(0,n.Uk)(" Design detail")],-1),d=(0,n._)("h2",{id:"architecture",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#architecture","aria-hidden":"true"},"#"),(0,n.Uk)(" Architecture")],-1),u=(0,n._)("p",null,[(0,n._)("img",{src:r,alt:"edgemesh-security-sequence"})],-1),c=(0,n._)("h2",{id:"workflow",tabindex:"-1"},[(0,n._)("a",{class:"header-anchor",href:"#workflow","aria-hidden":"true"},"#"),(0,n.Uk)(" Workflow")],-1),g=(0,n._)("p",null,[(0,n._)("strong",null,"step0:"),(0,n._)("br"),(0,n.Uk)(" The ssh client initiates a request through the socks5 proxy and proxy the traffic to the socks5 proxy.")],-1),p=(0,n._)("p",null,[(0,n._)("strong",null,"step1:"),(0,n._)("br"),(0,n.Uk)(" In the socks5 proxy, get the target host and target port. Convert the target host to the target IP through k8s api. The edgemesh-agent on the node uses hostNetwork, so just take its pod id directly.")],-1),f=(0,n._)("p",null,[(0,n._)("strong",null,"step2:"),(0,n._)("br"),(0,n.Uk)(" Encapsulate the converted target ip and target port and transmit them to the tunnel module")],-1),m=(0,n._)("p",null,[(0,n._)("strong",null,"step3:"),(0,n._)("br"),(0,n.Uk)(" The subsequent tunnel module will use the original p2p channel to send the request to the target machine and request the corresponding service (SSH server), and then return the traffic to socks5 to complete the traffic proxy")],-1),k={render:function(e,t){return(0,n.wg)(),(0,n.iD)(n.HY,null,[a,i,l,s,h,d,u,c,g,p,f,m],64)}}},5912:(e,t,o)=>{e.exports=o.p+"assets/img/edgemesh-ssh-workflow.3fb6edf0.png"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.