{"id":27818446,"url":"https://github.com/cwood/sshed","last_synced_at":"2025-06-25T07:06:53.573Z","repository":{"id":4426567,"uuid":"5564523","full_name":"cwood/sshed","owner":"cwood","description":"Minimal SSH wrapper around paramiko","archived":false,"fork":false,"pushed_at":"2015-03-23T21:06:41.000Z","size":309,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-01T15:58:06.515Z","etag":null,"topics":["paramiko","python","ssh"],"latest_commit_sha":null,"homepage":"http://cwood.github.com/sshed/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cwood.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-26T23:12:08.000Z","updated_at":"2021-11-04T22:24:13.000Z","dependencies_parsed_at":"2022-09-18T22:22:03.214Z","dependency_job_id":null,"html_url":"https://github.com/cwood/sshed","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwood%2Fsshed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwood%2Fsshed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwood%2Fsshed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwood%2Fsshed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cwood","download_url":"https://codeload.github.com/cwood/sshed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251904140,"owners_count":21662723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["paramiko","python","ssh"],"created_at":"2025-05-01T15:58:14.169Z","updated_at":"2025-05-01T15:58:14.695Z","avatar_url":"https://github.com/cwood.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"sshed\n===================\n\nsshed is a minimal paramiko/ssh2 wrapper that makes working with ssh through\npython just like working with it in normal SSH. It will use your configuration\nthat you have already created first then any extra options can be passed in\nthrough the library that is using it. Servers are base objects that can be\nextended to do other tasks. Also the API is dead simple.\n\n\nDocumentation / Repo Information:\n---------------------------------\n* Documentation: http://sshed.readthedocs.org/en/latest/index.html\n* Repo: https://github.com/cwood/sshed\n\n\nExamples\n-------------------\nCreating a server from your ~/.ssh/config with ssh keys created. This also\nuses a host alias\n\n.. code-block:: python\n\n    from sshed import servers\n    server = servers.from_conf('development')\n    server.run('whoami').output\n    \u003e\u003e ['cwood']\n    server.run('sudo whoami').output\n    \u003e\u003e ['root']\n    server.run('cd /var/www').returncode\n    \u003e\u003e 0\n    server.run('pwd').output\n    \u003e\u003e ['/var/www']\n\nCreating a server from just a hostname\n\n.. code-block:: python\n\n    from sshed import servers\n    server = servers.from_conf('myserver.com')\n    server.run('hostname').output\n    \u003e\u003e ['myserver.com']\n\nUploading/Downloading from/to a server\n\n.. code-block:: python\n\n    from sshed import servers\n    server = servers.from_conf('development')\n    server.upload('/tmp/mytar.tar', '/var/tmp/mytar.tar')\n    server.download('/var/logs/httpd/error_log', '/tmp/remote/error_log')\n\n\nCreating a new server without a ssh config\n\n.. code-block:: python\n\n    from sshed.servers import Server\n    server = Server(username='username', hostname='development.mycompany.com',\n            password='supersecretpassword')\n\n    server.run( ... )\n\nWorking with argparse. This sshed module also has a helper for working\nwith argparse. You can import an action so that when a user puts in a\n``--server server.mycompany.com`` it will create a new server instance\nfor that server.\n\n.. code-block:: python\n\n    from sshed.argparse_actions import ServerAction\n\n    # some other argparse information\n    parser.add_argument('-s', '--server', action=ServerAction, dest='server')\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwood%2Fsshed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcwood%2Fsshed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwood%2Fsshed/lists"}