<p>There are many guides, answers, etc... that specifically show how to enable the kubernetes dashboard, and several that attempt to explain how to remotely access them, but many have an issue with regard to accepting the token once you get to the login screen.</p>

<p>The problem as I understand it is that the service does not (rightfully) accept remote tokens over http.  Even though I can get to the login screen I can't get into the dashboard due to the inability to use the token.  How can I get around this limitation?</p>

<p>Taken from <a href="https://www.edureka.co/community/31282/is-accessing-kubernetes-dashboard-remotely-possible" rel="nofollow noreferrer">https://www.edureka.co/community/31282/is-accessing-kubernetes-dashboard-remotely-possible</a>:</p>

<p>you need to make the request from the remote host look like it's coming from a localhost (where the dashboard is running):</p>

<p><strong>From the system running kubernetes / dashboard:</strong></p>

<p>Deploy the dashboard UI:</p>

<blockquote>
  <p>kubectl apply -f
  <a href="https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml" rel="nofollow noreferrer">https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml</a></p>
</blockquote>

<p>Start the proxy:</p>

<blockquote>
  <p>kubectl proxy&amp;</p>
</blockquote>

<p>Create a secret:</p>

<blockquote>
  <p>kubectl create serviceaccount [account name]</p>
  
  <p>kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:[account name]</p>
  
  <p>kubectl get secret</p>
  
  <p>kubectl describe secret [account name]</p>
</blockquote>

<p><strong>From the system you wish to access the dashboard:</strong></p>

<p>Create an ssh tunnel to the remote system (the system running the dashboard):</p>

<blockquote>
  <p>ssh -L 9999:127.0.0.1:8001 -N -f -l [remote system username] [ip address of remote system] -P [port you are running ssh on]</p>
</blockquote>

<p>You will likely need to enter a password unless you are using keys.  Once you've done all this, from the system you established the ssh connection access <a href="http://localhost:9999/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/" rel="nofollow noreferrer">http://localhost:9999/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/</a></p>

<p>You can change the port 9999 to anything you'd like.  </p>

<p>Once you open the browser url, copy the token from the "describe secret" step and paste it in.</p>
