95

GitHub - euske/pyrexecd: Standalone SSH server for Windows

 6 years ago
source link: https://github.com/euske/pyrexecd
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

PyRexecd

PyRexecd is a standalone SSH server for Windows.

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:

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_ed25519.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 : authorized_keys path. (default: authorized_keys)
  • -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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK