PyserSSH


NamePyserSSH JSON
Version 5.1 PyPI version JSON
download
home_pagehttps://github.com/damp11113/PyserSSH
Summarypython scriptable ssh server library. based on Paramiko
upload_time2024-12-06 16:24:37
maintainerNone
docs_urlNone
authorDPSoftware Foundation
requires_python>=3.6
licenseMIT
keywords ssh server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # What is PyserSSH

This library will be **Pyserminal** (Python Server Terminal) as it supports multiple protocols such as ssh telnet rlogin and mores...

PyserSSH is a free and open-source Python library designed to facilitate the creation of customizable SSH terminal servers. Initially developed for research purposes to address the lack of suitable SSH server libraries in Python, PyserSSH provides a flexible and user-friendly solution for implementing SSH servers, making it easier for developers to handle user interactions and command processing.

The project was started by a solo developer to create a more accessible and flexible tool for managing SSH connections and commands. It offers a simplified API compared to other libraries, such as Paramiko, SSHim, and Twisted, which are either outdated or complex for new users.

This project is part from [damp11113-library](https://github.com/damp11113/damp11113-library)

## Some smail PyserSSH history
PyserSSH version [1.0](https://github.com/DPSoftware-Foundation/PyserSSH/releases/download/Legacy/PyserSSH10.py) (real filename is "test277.py") was created in 2023/9/3 for experimental purposes only. Because I couldn't find the best ssh server library for python and I started this project only for research. But I have time to develop this research into a real library for use. In software or server.

Read full history from [docs](https://damp11113.xyz/PyserSSHDocs/history.html)

# Install
Install from pypi
```bash
pip install PyserSSH
```
Install with [openRemoDesk](https://github.com/DPSoftware-Foundation/openRemoDesk) protocol
```bash
pip install PyserSSH[RemoDesk]
```
Install from Github
```bash
pip install git+https://github.com/damp11113/PyserSSH.git
```
Install from DPCloudev Git
```bash
pip install git+https://git.damp11113.xyz/DPSoftware-Foundation/PyserSSH.git
```

# Quick Example
This Server use port **2222** for default port
```py
from PyserSSH import Server, AccountManager

useraccount = AccountManager(allow_guest=True)
ssh = Server(useraccount)

@ssh.on_user("command")
def command(client, command: str):
    if command == "hello":
        client.send("world!")
        
ssh.run("your private key file")
```
This example you can connect with `ssh admin@localhost -p 2222` and press enter on login
If you input `hello` the response is `world`

# Demo
> [!WARNING]  
> For use in product please **generate new private key**! If you still use this demo private key maybe your product getting **hacked**! up to 90%. Please don't use this demo private key for real product.

https://github.com/damp11113/PyserSSH/assets/64675096/49bef3e2-3b15-4b64-b88e-3ca84a955de7

I intend to leaked private key because that key i generated new. I recommend to generate new key if you want to use on your host because that key is for demo only.
why i talk about this? because when i push private key into this repo in next 5 min++ i getting new email from GitGuardian. in that email say "
GitGuardian has detected the following RSA Private Key exposed within your GitHub account" i dont knows what is GitGuardian and i not install this app into my account.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/damp11113/PyserSSH",
    "name": "PyserSSH",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "SSH server",
    "author": "DPSoftware Foundation",
    "author_email": "contact@damp11113.xyz",
    "download_url": "https://files.pythonhosted.org/packages/8d/e2/48b4b353727356730801f823c4c259ebad6cab364f82f1583a428c55563e/pyserssh-5.1.tar.gz",
    "platform": null,
    "description": "# What is PyserSSH\r\n\r\nThis library will be **Pyserminal** (Python Server Terminal) as it supports multiple protocols such as ssh telnet rlogin and mores...\r\n\r\nPyserSSH is a free and open-source Python library designed to facilitate the creation of customizable SSH terminal servers. Initially developed for research purposes to address the lack of suitable SSH server libraries in Python, PyserSSH provides a flexible and user-friendly solution for implementing SSH servers, making it easier for developers to handle user interactions and command processing.\r\n\r\nThe project was started by a solo developer to create a more accessible and flexible tool for managing SSH connections and commands. It offers a simplified API compared to other libraries, such as Paramiko, SSHim, and Twisted, which are either outdated or complex for new users.\r\n\r\nThis project is part from [damp11113-library](https://github.com/damp11113/damp11113-library)\r\n\r\n## Some smail PyserSSH history\r\nPyserSSH version [1.0](https://github.com/DPSoftware-Foundation/PyserSSH/releases/download/Legacy/PyserSSH10.py) (real filename is \"test277.py\") was created in 2023/9/3 for experimental purposes only. Because I couldn't find the best ssh server library for python and I started this project only for research. But I have time to develop this research into a real library for use. In software or server.\r\n\r\nRead full history from [docs](https://damp11113.xyz/PyserSSHDocs/history.html)\r\n\r\n# Install\r\nInstall from pypi\r\n```bash\r\npip install PyserSSH\r\n```\r\nInstall with [openRemoDesk](https://github.com/DPSoftware-Foundation/openRemoDesk) protocol\r\n```bash\r\npip install PyserSSH[RemoDesk]\r\n```\r\nInstall from Github\r\n```bash\r\npip install git+https://github.com/damp11113/PyserSSH.git\r\n```\r\nInstall from DPCloudev Git\r\n```bash\r\npip install git+https://git.damp11113.xyz/DPSoftware-Foundation/PyserSSH.git\r\n```\r\n\r\n# Quick Example\r\nThis Server use port **2222** for default port\r\n```py\r\nfrom PyserSSH import Server, AccountManager\r\n\r\nuseraccount = AccountManager(allow_guest=True)\r\nssh = Server(useraccount)\r\n\r\n@ssh.on_user(\"command\")\r\ndef command(client, command: str):\r\n    if command == \"hello\":\r\n        client.send(\"world!\")\r\n        \r\nssh.run(\"your private key file\")\r\n```\r\nThis example you can connect with `ssh admin@localhost -p 2222` and press enter on login\r\nIf you input `hello` the response is `world`\r\n\r\n# Demo\r\n> [!WARNING]  \r\n> For use in product please **generate new private key**! If you still use this demo private key maybe your product getting **hacked**! up to 90%. Please don't use this demo private key for real product.\r\n\r\nhttps://github.com/damp11113/PyserSSH/assets/64675096/49bef3e2-3b15-4b64-b88e-3ca84a955de7\r\n\r\nI intend to leaked private key because that key i generated new. I recommend to generate new key if you want to use on your host because that key is for demo only.\r\nwhy i talk about this? because when i push private key into this repo in next 5 min++ i getting new email from GitGuardian. in that email say \"\r\nGitGuardian has detected the following RSA Private Key exposed within your GitHub account\" i dont knows what is GitGuardian and i not install this app into my account.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "python scriptable ssh server library. based on Paramiko",
    "version": "5.1",
    "project_urls": {
        "Homepage": "https://github.com/damp11113/PyserSSH"
    },
    "split_keywords": [
        "ssh",
        "server"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8de248b4b353727356730801f823c4c259ebad6cab364f82f1583a428c55563e",
                "md5": "cd1b3ab28d4c8ed4b18238fc9a0e4d28",
                "sha256": "cc5ed9363923ad07e6b850d57cd92ba91a36d75cd68e60944db98868bc42dcee"
            },
            "downloads": -1,
            "filename": "pyserssh-5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cd1b3ab28d4c8ed4b18238fc9a0e4d28",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 38032,
            "upload_time": "2024-12-06T16:24:37",
            "upload_time_iso_8601": "2024-12-06T16:24:37.540293Z",
            "url": "https://files.pythonhosted.org/packages/8d/e2/48b4b353727356730801f823c4c259ebad6cab364f82f1583a428c55563e/pyserssh-5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-06 16:24:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "damp11113",
    "github_project": "PyserSSH",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyserssh"
}
        
Elapsed time: 0.40517s