{"id":38894345,"url":"https://github.com/boypt/openssh-rpms","last_synced_at":"2026-01-17T14:57:33.001Z","repository":{"id":44459091,"uuid":"399030052","full_name":"boypt/openssh-rpms","owner":"boypt","description":"A script to backport openssh rpm package from upstream.","archived":false,"fork":false,"pushed_at":"2026-01-04T02:59:39.000Z","size":34274,"stargazers_count":424,"open_issues_count":12,"forks_count":151,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-04T09:42:06.674Z","etag":null,"topics":["centos","openssh","rpm","spec"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/boypt.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-23T08:34:41.000Z","updated_at":"2026-01-04T02:59:41.000Z","dependencies_parsed_at":"2023-12-21T05:07:57.592Z","dependency_job_id":"55f04564-f31e-4367-b816-86fbd8a1e3b5","html_url":"https://github.com/boypt/openssh-rpms","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/boypt/openssh-rpms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boypt%2Fopenssh-rpms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boypt%2Fopenssh-rpms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boypt%2Fopenssh-rpms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boypt%2Fopenssh-rpms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boypt","download_url":"https://codeload.github.com/boypt/openssh-rpms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boypt%2Fopenssh-rpms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28510927,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: 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":["centos","openssh","rpm","spec"],"created_at":"2026-01-17T14:57:32.896Z","updated_at":"2026-01-17T14:57:32.990Z","avatar_url":"https://github.com/boypt.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backport OpenSSH RPM / SRPM for CentOS\n\nA script to backport upstream OpenSSH for CentOS/RHEL (like) distros.\n\nSimilar Project: [Backport OpenSSH for Debian / Ubuntu distros](https://github.com/boypt/openssh-deb)\n\n## Supported (tested) Distro:\n\n- CentOS 5/6/7/8/Stream 8/9\n- Rocky Linux 8/9\n- Amazon Linux 1/2/2023\n- UnionTech OS 20\n- openEuler 22.03/24.03\n- AnolisOS 7/8/2023\n\n## Project Structure \n\n- `pullsrc.sh`: Script to download source packages.\n- `compile.sh`: Script to build RPMs.\n- `version.env`: config file for variables (versions, release number, OPENSSL MODE, proxy ...)\n\nThe directory (`el5`, `el6`, `el7`) serve as functional templates for different environment types. The `openssh.spec` are modified based on the shipped spec file from OpenSSH project.\n\n- `el5`: Designed for legacy environments. With toolchains (Perl) to support the build process.\n- `el6`: With SysVinit startup.\n- `el7`: With Systemd service.\n\n**Note**: the Systemd units in `el7` are applicable not only to EL7 but also to EL8, EL9, and other modern distributions that rely on Systemd.\n\n## Current Version:\n\n- OpenSSH 10.2p1 (see: [OpenSSH Official](https://www.openssh.com/))\n- OpenSSL 3.0.18 (see: [OpenSSL Official](https://www.openssl.org/source/))\n\nThe build script reads `version.env` for version definitions.\n\nOpenSSL is not needed when using `WITH_OPENSSL=0`. (see `version.env`)\n\n## Build Requirements:\n\n```bash\nyum groupinstall -y \"Development Tools\"\nyum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl perl-IPC-Cmd perl-Time-Piece\n\n# For CentOS7 and above:\nyum install -y systemd-devel\n\n# For CentOS5 only:\nyum install -y gcc44\n```\n\n## Usage\n\n### Build RPMs\n\nNote: It is unnecessary to build on each system, as most RPM-based Linux distributions are glibc compatible. That is, RPMs built on `CentOS 8` can be installed and run on `Rocky Linux 8`/`AlmaLinux 8`/`Oracle Linux 8`, etc.\n\n1. Install build requirements listed above.\n2. Edit `version.env` file if necessary.\n3. Download source packages.\n    ```bash\n    ./pullsrc.sh\n    ```\n    if any error comes up, manually download the source files into the `downloads` dir.\n4. Run the script to build RPMs. \n    ```bash\n    ./compile.sh\n    ```\n\n### Install RPMs\n\n```bash\n# Go to the generated RPMS directory.\ncd $(./compile.sh RPMDIR)\npwd\nls\n# you will find multiple RPM files in this directory.\n# you may copy them to other machines, and continue following steps there.\n\n# Backup current SSH config\n[[ -f /etc/ssh/sshd_config ]] \u0026\u0026 mv /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +%Y%m%d)\n\n# Install rpm packages.\nsudo yum --disablerepo=* localinstall -y ./openssh*.rpm\n\n# Check Installed version:\nssh -V \u0026\u0026 /usr/sbin/sshd -V\n\n# Restart service\nsudo service sshd restart\n\n# Test a new ssh connection\nssh localhost\n```\n\n**DO NOT DISCONNECET** current ssh shell yet, open a **NEW** shell and login to you machine to verify that sshd is working properly.\n\n#### Trouble shooting\n\nYou may get complains during the `yum localinstall` process. It's mostly because some subpackages depend on the main openssh package, upgrading only the main package won't fit in their dependencies.\n\nCommonly these packages are needed to be erased before installing built RPMs.\n\n```\nyum erase openssh-askpass openssh-keycat openssh-cavs openssh-askpass openssh-askpass-gnome openssh-debuginfo\n```\n\nIf still not satisfied, you may try the final weapon: FORCED INSTALL.\n\n```bash\nrpm -ivh --force --nodeps --replacepkgs --replacefiles openssh-*.rpm\n```\n\n## Use Docker\n\nFor more details, see [docker/README.md](docker/README.md)\n\n## Other Notes\n\n### Built without OPENSSL\n\nWhen built with `WITH_OPENSSL=0`, `ssh-rsa` keys are not supported. But the RPMs are much smaller, and the built process is much faster.\n\n### Install on uniontech UOS 20\n\nUOS's `openssh-help` subpackage has files that confilict with the package. It's must be removed before installing the compiled RPMs:\n\n```bash\nsudo rpm --nodeps -e openssh-help\nsudo yum --disablerepo=* install -y ./openssh*.rpm\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboypt%2Fopenssh-rpms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboypt%2Fopenssh-rpms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboypt%2Fopenssh-rpms/lists"}