Repolode
janmojzis

janmojzis/tinyssh

TinySSH 是一个极简的 SSHv2 服务端,只支持现代密码算法,不提供旧算法和不安全的功能。

可替代:OpenSSH

Star
1,538
Fork
83
未关闭 Issue
20
最近提交
6天前

这是什么?

TinySSH 是一个用 C 编写的小型 SSH 服务端,只实现 SSHv2 协议的有限子集。它仅提供当前认为安全的密钥交换、加密和主机密钥算法,例如 curve25519、chacha20-poly1305 和 ssh-ed25519,不支持 RSA、DSA、3DES、RC4,也不支持密码认证和基于主机的认证。

服务端同时不提供压缩、端口转发、agent 转发和 X11 转发等功能,代码体量因此很小。数据包处理使用固定大小的缓冲区,授权路径解析若内存分配失败则直接拒绝授权。自 20260906 版本起,服务端会拒绝客户端传入的环境变量,所需变量需在服务器端设置。

项目包含服务进程 tinysshd 和主机密钥生成工具 tinysshd-makekey。它可以通过 tcpserver、busybox tcpsvd、inetd 或 systemd socket 激活方式运行。

核心功能

  • 01仅支持 curve25519、chacha20-poly1305、ssh-ed25519 等现代算法。
  • 02包含后量子密钥交换 sntrup761x25519,可通过参数关闭。
  • 03不支持密码认证、基于主机的认证和旧式加密算法。
  • 04数据包处理使用固定大小的缓冲区。
  • 05可与 tcpserver、busybox tcpsvd、inetd 和 systemd 配合使用。

适用场景

  • 在嵌入式或资源受限的系统上提供一个小型 SSH 服务。
  • 在精简的 Linux 环境中提供基于密钥的远程 shell 访问。
  • 通过 inetd 或 systemd socket 激活按需启动 SSH 服务。

收录于专题

标签

常见问题

tinyssh 是什么?
TinySSH 是一个极简的 SSHv2 服务端,只支持现代密码算法,不提供旧算法和不安全的功能。 TinySSH 是一个用 C 编写的小型 SSH 服务端,只实现 SSHv2 协议的有限子集。它仅提供当前认为安全的密钥交换、加密和主机密钥算法,例如 curve25519、chacha20-poly1305 和 ssh-ed25519,不支持 RSA、DSA、3DES、RC4,也不支持密码认证和基于主机的认证。
tinyssh 可以免费使用吗?用的什么许可证?
tinyssh 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
tinyssh 还在维护吗?
活跃维护中。tinyssh 最近一次提交是在 2026年11月1日。
tinyssh 适合用来做什么?
在嵌入式或资源受限的系统上提供一个小型 SSH 服务。 在精简的 Linux 环境中提供基于密钥的远程 shell 访问。 通过 inetd 或 systemd socket 激活按需启动 SSH 服务。
在哪里获取 tinyssh?
源代码和安装说明在 GitHub 上:https://github.com/janmojzis/tinyssh

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目