{"id":31555240,"url":"https://github.com/xtaran/sshudo","last_synced_at":"2026-02-16T01:42:57.960Z","repository":{"id":137387306,"uuid":"334015175","full_name":"xtaran/sshudo","owner":"xtaran","description":"Drop-in sudo and pkexec replacement doing ssh root@localhost passing parameters like empty strings properly","archived":false,"fork":false,"pushed_at":"2025-07-01T12:49:42.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T21:48:21.690Z","etag":null,"topics":["nosetuid","nosuid","pkexec","security","ssh","sudo","sysadmin"],"latest_commit_sha":null,"homepage":"","language":"Roff","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xtaran.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-29T02:28:43.000Z","updated_at":"2025-07-01T12:49:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"4436f0e4-b231-4e6f-9439-d2882821e777","html_url":"https://github.com/xtaran/sshudo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/xtaran/sshudo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtaran%2Fsshudo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtaran%2Fsshudo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtaran%2Fsshudo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtaran%2Fsshudo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xtaran","download_url":"https://codeload.github.com/xtaran/sshudo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtaran%2Fsshudo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29498345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T01:11:49.942Z","status":"ssl_error","status_checked_at":"2026-02-16T01:07:16.834Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["nosetuid","nosuid","pkexec","security","ssh","sudo","sysadmin"],"created_at":"2025-10-04T21:44:45.456Z","updated_at":"2026-02-16T01:42:57.954Z","avatar_url":"https://github.com/xtaran.png","language":"Roff","funding_links":[],"categories":[],"sub_categories":[],"readme":"sshudo\n======\n\nSynopsis\n--------\n\n```sh\nPBUILDERROOTCMD=sshudo pbuilder --build --debbuildopts \"\" ../somedebianpackage_123-4.dsc\n\nalias sudo=sshudo\nalias pkexec=sshudo\n\nsshudo ln -vis sshudo /usr/bin/sudo\nsshudo ln -vis sshudo /usr/bin/pkexec\n```\n\nDescription\n-----------\n\nsshudo is an SSH based minimal drop-in replacement for very basic\n`sudo` and `pkexec` usage with commands which still contain parameters\nwith spaces or empty parameters.\n\nOptions\n-------\n\n_None so far._\n\nLimitations\n-----------\n\n* Won't work properly if parameters contain one or more single quotes.\n* Might make your brain hurt if you try to use backslash escaping.\n* No SSH option passing. Use `~/.ssh/config` for that.\n* Only works for gaining root privileges.\n\nMotivation\n----------\n\n[`sudo`](https://www.sudo.ws/) is notoriously hazardous to system\nsecurity, regularily having security issues like\ne.g. [CVE-2021-3156](https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit),\n[CVE-2025-32462](https://www.stratascale.com/vulnerability-alert-CVE-2025-32462-sudo-host)\nor\n[CVE-2025-32463](https://www.stratascale.com/vulnerability-alert-CVE-2025-32463-sudo-chroot).\n(And PolicyKit and its `pkexec` isn't much better either.)\n\nSo I wanted to get rid of it once and forever. Didn't seem that hard\nas I use `ssh root@localhost` anyway for most purposes other people\nwould think about using `sudo` for.\n\nBut unfortunately using `pdebuild` from the [pbuilder\nsuite](https://pbuilder-team.pages.debian.net/pbuilder/) with\n`PBUILDERROOTCMD=\"ssh root@localhost\"` didn't work, because `pdebuild`\nunconditionally passes an empty string as one of the parameters to the\ncommand in `$PBUILDERROOTCMD` and this is lost after the command has\nbeen passed as parameters to SSH. So I needed a wrapper which does\nproper escaping for this case. And that's how `sshudo` came into\nexistence.\n\nLicense\n-------\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the [DO WHAT THE FUCK YOU WANT TO PUBLIC\nLICENSE](http://www.wtfpl.net/about/) (WTFPL), either version 2 of the\nLicense, or (at your option) any later version.\n\n### Full Text of the License\n\n#### DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\n\n##### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n0. You just DO WHAT THE FUCK YOU WANT TO.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtaran%2Fsshudo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtaran%2Fsshudo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtaran%2Fsshudo/lists"}