Categorygithub.com/AnyISalIn/sshwrapper
repository
0.0.0-20220521030925-4078923dc021
Repository: https://github.com/anyisalin/sshwrapper.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

SSHWrapper - Serving Linux Command via SSH

Demonstrate

asciicast

Workflow

Get Started

Build

go build -o ./sshwrapper cmd/sshwrapper.go
$ ./sshwrapper -h
Usage of ./sshwrapper:
  -config string
    	sshwrapper config file (default "./example.yaml")
  -listen-addr string
    	sshwrapper listen address (default "0.0.0.0:2022")

Examples

Container Auto Provision

Please make sure docker is installed and started

example.yaml

routes:
  - uri: "/run-container"
    allow:
      - anyisalin
    handler:
      command:
        cmd: "/bin/bash"
        args:
          - -c
          - docker run --name container-$SSHWRAPPER_USERNAME --hostname=$SSHWRAPPER_USERNAME -ti --rm ubuntu:20.04 /bin/bash

Serving and Testing

./sshwrapper --config ./example.yaml
SERVER_ADDR="<your_wrapper_server>"
ssh anyisalin@$SERVER_ADDR -tp 2022 "/run-container"

Kubernetes Watchtower

Please make sure k9s command line is installed

example.yaml

routes:
  - uri: "/kube-watchtower"
    allow:
      - anyisalin
    handler:
      command:
        cmd: "k9s"
  users:
    - name: anyisalin
      password: 123456

Serving and Testing

./sshwrapper --config ./example.yaml
SERVER_ADDR="<your_wrapper_server>"
ssh anyisalin@$SERVER_ADDR -tp 2022 "/k8s-watchtower"