Git Product home page Git Product logo

envssh's Introduction

envssh - Take your environment with you

Environment (friendly) SSH client.

Brings your environment with you to the remote machine including environment variables, configuration files and other.

Note: This is POC implementation and needs a lot of refactoring and more testing!

Installing

go get -u github.com/drodil/envssh

Usage

Tool behaves much like the normal ssh client. To connect to remote, simply run:

envssh [remote]

The remote should be either hostname or IP address and can include username and port which are used to connect f.eg. user@remote:1234.

On the first run, default configuration file will be created to $HOME/.ssh/envssh.yml. See Configuration section for details how to configure the tool.

Run envssh --help for more options.

Also check out short demo on Youtube:

envssh demo

Configuration

Configuration file is created automatically to $HOME/.ssh/envssh.yml. The file contains the following sections:

  • global - Global level configuration which can be overriden per hostname
    • env - Environment variables to move to the remote
      • static - Key-value pairs that are moved to the remote
      • moved - Keys from current environment that are evaluated and moved
    • files - List of files that are moved from local to the remote, each containing:
      • local - Local path of the file to move
      • remote - Destination path on the remote
    • commands - List of commands that are run on remote before starting the session
  • servers - Server specific configurations that override the global ones based on hostname
    • host - Hostname of the remote
    • port - Port that is used to connect to remote
    • aliases - List of aliases for this server, can be used instead hostname in destination
    • env - See above
    • files - See above
    • commands - See above

See example configuration file envssh.yml

Contributing

See CONTRIBUTING.md.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.