PageSourceSearch

https://edgemesh.netlify.app/assets/js/v-272594bd.ec0f413d.js

js edgemesh.netlify.app collected 2026-10-03 10:41:08 UTC 6,770 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkedgemesh=self.webpackChunkedgemesh||[]).push([[385],{265:(n,e,s)=>{s.r(e),s.d(e,{data:()=>a});const a={key:"v-272594bd",path:"/guide/ssh.html",title:"SSH Proxy Tunnel",lang:"en-US",frontmatter:{},excerpt:"",headers:[{level:2,title:"How SSH Agent Works",slug:"how-ssh-agent-works",children:[]},{level:2,title:"Configuration",slug:"configuration",children:[{level:3,title:"Helm Configuration",slug:"helm-configuration",children:[]},{level:3,title:"Manual Configuration",slug:"manual-configuration",children:[]}]},{level:2,title:"How to Use",slug:"how-to-use",children:[]}],filePathRelative:"guide/ssh.md",git:{updatedTime:1663549505e3,contributors:[]}}},4276:(n,e,s)=>{s.r(e),s.d(e,{default:()=>t});const a=(0,s(6252).uE)('<h1 id="ssh-proxy-tunnel" tabindex="-1"><a class="header-anchor" href="#ssh-proxy-tunnel" aria-hidden="true">#</a> SSH Proxy Tunnel</h1><p>EdgeMesh&#39;s Socks5 agent provides the ability of SSH login and access between nodes through Socks5 agent. This chapter will introduce this function in detail.</p><h2 id="how-ssh-agent-works" tabindex="-1"><a class="header-anchor" href="#how-ssh-agent-works" aria-hidden="true">#</a> How SSH Agent Works</h2><p><img src="/images/guide/em-sock5.png" alt="edgemesh-socks5-proxy"></p><ol><li>The client initiates a remote login request through the proxy, and the traffic will be forwarded to the proxy service</li><li>Resolve the destination host name and port in the proxy server to convert it to the remote server IP address</li><li>The traffic is forwarded to the target machine through the P2P hole punching function of the original Tunnel module</li><li>After the channel is established, the response to the remote traffic is returned to the SSH client to complete the channel establishment</li></ol><h2 id="configuration" tabindex="-1"><a class="header-anchor" href="#configuration" aria-hidden="true">#</a> Configuration</h2><h3 id="helm-configuration" tabindex="-1"><a class="header-anchor" href="#helm-configuration" aria-hidden="true">#</a> Helm Configuration</h3><p>Via Helm&#39;s <code>--set</code> parameter:</p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ helm <span class="token function">install</span> edgemesh --namespace kubeedge <span class="token punctuation">\\</span>\n--set agent.modules.edgeProxy.socks5Proxy.enable<span class="token operator">=</span>true <span class="token punctuation">..</span>.\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><h3 id="manual-configuration" tabindex="-1"><a class="header-anchor" href="#manual-configuration" aria-hidden="true">#</a> Manual Configuration</h3><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ <span class="token function">vim</span> build/agent/resources/04-configmap.yaml\n  modules:\n    <span class="token punctuation">..</span>
1.\n    edgeProxy:\n      <span class="token punctuation">..</span>.\n      socks5Proxy:\n        enable: <span class="token boolean">true</span>\n    <span class="token punctuation">..</span>.\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><div class="custom-container warning"><p class="custom-container-title">WARNING</p><p>edgemesh-agent needs to be restarted after changing the configuration.</p></div><h2 id="how-to-use" tabindex="-1"><a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a> How to Use</h2><p><strong>Since the IP address of the node may be duplicate, it only supports connection through the node name</strong></p><div class="language-bash ext-sh line-numbers-mode"><pre class="language-bash"><code>$ kubectl get node\nNAME                                  STATUS   ROLES                         AGE    VERSION\nmaster                                Ready    control-plane,master,worker   22d    v1.21.5\nedge-node-1002                        Ready    agent,edge                    2d4h   v1.19.3-kubeedge-v1.7.2\n\n\n$ <span class="token function">ssh</span> -o <span class="token string">&quot;ProxyCommand nc --proxy-type socks5 --proxy 169.254.96.16:10800 %h %p&quot;</span> root@edge-node-1002\n\nECDSA key fingerprint is SHA256:uPUzjIPK+zvu8ymzrkd0IWSsmrs2r/Hl72iendYniVY.\nECDSA key fingerprint is MD5:ca:80:85:84:bd:09:a6:fd:d9:ba:73:1c:b5:7c:f6:ae.\nAre you sure you want to <span class="token builtin class-name">continue</span> connecting <span class="token punctuation">(</span>yes/no<span class="token punctuation">)</span>? <span class="token function">yes</span>\nroot@edge-node-1002&#39;s password:\n\nActivate the web console with: systemctl <span class="token builtin class-name">enable</span> --now cockpit.socket\n\nLast failed login: Wed Dec <span class="token number">15</span> <span class="token number">14</span>:45:06 CST <span class="token number">2021</span> from <span class="token number">192.168</span>.1.128 on ssh:notty\nThere was <span class="token number">1</span> failed login attempt since the last successful login.\nLast login: Wed Dec <span class="token number">15</span> <span class="token number">14</span>:07:04 <span class="token number">2021</span> from <span class="token number">192.168</span>.1.128\n<span class="token punctuation">[</span>root@edge-node-1002 ~<span class="token punctuation">]</span><span class="token comment">#</span>\n</code></pre><div class="line-numbers"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br></div></div><div class="custom-container tip"><p class="custom-container-title">TIP</p><p>The parameters of different proxy tools will be different, please check the documentation of the corresponding tool for details. Commonly used proxy tools are nc, ncat</p></div>',16),t={render:function(n,e){return a}}}}]);

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.