pyrexecd

by euske

euske / pyrexecd

Standalone SSH server for Windows

207 Stars 16 Forks Last release: Not found MIT License 66 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

PyRexecd

PyRexecd is a standalone SSH server for Windows.

PyRexecd Screenshot

Features:

  • Standalone Win32 app (not a service) that resides in SysTray.
  • Supports a single user / pubkey auth only.
  • Notifies incoming connections via popup.
  • Sends/Receives the clipboard text via stdin/stdout.
  • PyPI Project page: https://pypi.python.org/pypi/PyRexecd/

Prerequisites:

  • Python 3 (or 2) - http://www.python.org/
  • Paramiko - http://www.paramiko.org/
  • PyWin32 - http://sourceforge.net/projects/pywin32/
  • cxFreeze (optional) - https://pypi.python.org/pypi/cxFreeze

How to Use:

  1. > pip install pyrexecd
  2. Run
    PyRexec.pyw
    .
    It generates a new host key and opens a config directory (
    AppData\Roaming\PyRexecd
    ).
  3. Put your public key into the config dir.
    > copy your\id_rsa.pub authorized_keys
  4. Run
    PyRexec.pyw
    to start the server.
  5. Log into the machine via 2200/tcp.
    $ ssh -p 2200 windows

Command Line Syntax:

> pyrexecd.exe [-d] [-l logfile] [-s sshdir] [-L addr] [-p port]
               [-c cmdexe] [-u username] [-a authkeys] [-h homedir]
       ssh_host_key ...
  • -d
    : Turns on Debug mode (verbose logging).
  • -l logfile
    : Log file path (default:
    pyrexecd.log
    ).
  • -s sshdir
    : Config directory path. (default:
    AppData\Roaming\PyRexecd
    )
  • -L a.b.c.d
    : Specifies the listen address (default:
    127.0.0.1
    ).
  • -p port
    : Specifies the listen port (default:
    2200
    ).
  • -c cmdexe
    : cmd.exe path. (default:
    cmd.exe
    )
  • -u username
    : Username.
  • -a authkeys
    : authorizedkeys path. (default: `authorizedkeys`)
  • -h homedir
    : Home directory path. (default:
    %UserProfile%
    )

Special commands:

Certain SSH command is recognized as special commands:

  • @clipget
    : Receives the clipboard text from Windows.
    $ ssh windows @clipget > clipboard.txt
  • @clipset
    : Sends the clipboard text to Windows.
    $ echo foo | ssh windows @clipset
  • @open
    ,
    @edit
    , and
    @print
    : Windows shell operation. The target pathname should be given from stdin.
    $ echo C:\User\euske\foo.txt | ssh windows @edit

How to Build .exe (requires cx_Freeze):

> pip install cx_Freeze
> python setup_exe.py build

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.