You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5-3
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,12 @@
2
2
3
3
All notable changes to the "kubectl-plugin-ssh-jump" extension will be documented in this file.
4
4
5
+
## 0.6.0
6
+
7
+
- Support SSH local port forwarding to access a remote server. This allows to forward the traffic form local machine to SSH jump then SSH jump will forward the traffic to the remote server.
8
+
5
9
## 0.5.0
10
+
6
11
- Fix to address pod sshjump pod scheduling on hybrid clusters ([PR#9](https://github.com/yokawasa/kubectl-plugin-ssh-jump/pull/9), thanks to @swgriffith )
7
12
8
13
## 0.4.0
@@ -21,14 +26,11 @@ All notable changes to the "kubectl-plugin-ssh-jump" extension will be documente
21
26
## 0.3.0
22
27
23
28
- Added Args param to exec in ssh session ( [PR#2](https://github.com/yokawasa/kubectl-plugin-ssh-jump/pull/2), thanks to @iuryfukuda )
24
-
25
29
## 0.2.0
26
30
27
31
- Added -P|--port options for specifing SSH port that target node is listening (default 22)
28
32
- Added -o "StrictHostKeyChecking=no" for ssh login options
29
33
- Changed the way to SSH login via SSH Jump Pod from using "-J" to using "ProxyCommand"
A kubectl plugin to SSH into Kubernetes nodes using a SSH jump host Pod
5
+
A kubectl plugin to access Kubernetes nodes or remote services using a SSH jump Pod
6
6
7
-
A `jump host` Pod is an intermediary Pod or an SSH gateway to Kubernetes node machines, through which a connection can be made to the node machines.
7
+
A `jump host` Pod is an intermediary Pod or an SSH gateway to Kubernetes node machines, through which a connection can be made to the node machines or remote services.
8
8
9
-
Here is an scenario where you want to connect to Kubernetes node, but you have to go through a jump host Pod, because of firewalling, access privileges. etc. There is a number of valid reasons why the jump hosts are needed...
9
+
Here is an scenario where you want to connect to Kubernetes nodes or remote services, but you have to go through a jump host Pod, because of firewalling, access privileges. etc. There is a number of valid reasons why the jump hosts are needed...
10
10
11
-

11
+
**CASE 1: SSH into Kubernetes nodes via SSH jump Pod**
12
+

13
+
14
+
**CASE 2: Connect to remote serivces via SSH local port forwarding**. SSH local port forwarding allows to forward the traffic form local machine to SSH jump then SSH jump will forward the traffic to remote services (host:port)s.
15
+

12
16
13
17
> [NOTE]
14
18
> - Kubectl versions >= `1.12.0` (Preferred)
@@ -22,19 +26,22 @@ Here is an scenario where you want to connect to Kubernetes node, but you have t
#### Scenario1 - You have private & public SSH key on your side
219
+
220
+
#### CASE 1: SSH into Kubernetes nodes via SSH jump Pod
221
+
222
+
##### 1-1 - You have private & public SSH key on your side
207
223
208
224
Suppose you have private & public SSH key on your side and you want to SSH to a node named `aks-nodepool1-18558189-0`, execute the plugin with options like this:
#### Scenario2 - You have .pem file but you don't have public key on your side
291
+
##### 1-2 - You have .pem file but you don't have public key on your side
276
292
277
293
From v0.4.0, the plugin supports PEM (Privacy Enhanced Mail) scenario where you create key-pair but you only have .pem / private key (downloaded from AWS, for example) and you don't have the public key on your side.
278
294
@@ -284,6 +300,26 @@ Suppose you've already downloaded a pem file and you want to ssh to your EKS wor
#### CASE 2: Access remote serivces via SSH local port forwarding
304
+
305
+
SSH local port forwarding allows to forward the traffic form local machine to SSH jump then SSH jump will forward the traffic to remote services (host:port)s.
306
+
##### 2-1 - Configuring SSH local port forwarding with --args or -a option
307
+
308
+
Suppose you have private & public SSH key on your side and you want to access a remote server (IP: `10.100.10.8`) using `3389`/TCP port which is not accessible directly but accessible via SSH jump, execute the plugin with options like this, at first:
309
+
310
+
- identity:`~/.ssh/id_rsa_k8s`
311
+
- pubkey:`~/.ssh/id_rsa_k8s.pub`)
312
+
313
+
The command below allows to forward the traffic form local machine (`localhost:13200`) to SSH jump then SSH jump will forward the traffic to the remote server (`10.100.10.8:3389`).
314
+
```sh
315
+
$ kubectl ssh-jump sshjump \
316
+
-i ~/.ssh/id_rsa_k8s -p ~/.ssh/id_rsa_k8s.pub \
317
+
-a "-L 13200:10.100.10.8:3389"
318
+
```
319
+
> - `sshjump` is the hostname for SSH jump Pod
320
+
> - The value for`--arg` or `-a` should bein this format: "-L local_port:remote_address:remote_port"
321
+
322
+
Now, you're ready to access to the remote server at port 13200 at local machine.
0 commit comments