5 个版本
0.1.4 | 2022 年 5 月 10 日 |
---|---|
0.1.3 | 2022 年 5 月 8 日 |
0.1.2 | 2022 年 5 月 7 日 |
0.1.1 | 2022 年 5 月 7 日 |
0.1.0 | 2022 年 5 月 7 日 |
#123 in #ssh
每月 26 次下载
28KB
584 行
moshudp
mosh 通常使用 ssh 建立会话。然而,有时由于网络问题 SSH 不可用,或者由于某些配置错误而无法访问 SSH(因此也无法访问 Mosh)。
Moshudp 为 mosh-client 和 mosh-server 提供了基于 UDP 的会话建立机制的替代方案。
这允许 mosh-client 和 mosh-server 仅使用一个 UDP 端口连接,而不需要 SSH 或其他 TCP 连接。身份验证基于一个静态密钥文件。
限制
- 一次只能有一个客户端。连接到竞争的客户端将断开较早的一个(您可以使用
--ping
模式来非破坏性地检查服务器)。 - 仅对称加密 - 客户端和服务器上的密钥文件相同。
- 没有 NAT 穿越或 ICE。
- 没有安全审计。我已尽力防止重放攻击或成为 DDoS 放大器,但我不是安全专家。
- 如果密钥不正确,则不会回复任何内容 - 客户端将仅超时。
- moshudp 的安全模型假设 mosh-server 准备好接受来自开放互联网的任意(即恶意)数据包。
安装
使用 Github 发布版 获取您平台上的预构建版本,或者安装 Rust 工具链并执行 cargo install moshudp
。
帮助输出
$ moshudp --help
Usage: moshudp <command> [<args>]
mosh-server and mosh-client interconnector based on UDP and a static key file
Options:
--help display usage information
Commands:
serve server mode
connect client mode
keygen generate 32-byte random file to use as a key on client and
server
$ moshudp serve --help
Usage: moshudp serve <addr> <keyfile> [-4] [-6]
server mode
Positional Arguments:
addr socket address to listen
keyfile 32-byte file to generate use as a key
Options:
-4, --ipv4 limit hostname resolution to IPv4 addresses
-6, --ipv6 limit hostname resolution to IPv6 addresses
--help display usage information
$ moshudp connect --help
Usage: moshudp connect <addr> <keyfile> [-4] [-6] [--ping]
client mode
Positional Arguments:
addr socket address to connect
keyfile 32-byte file to generate use as a key
Options:
-4, --ipv4 limit hostname resolution to IPv4 addresses
-6, --ipv6 limit hostname resolution to IPv6 addresses
--ping skip most of the algorithm, just send a ping
--help display usage information
另请参阅
- 该项目受到了 mosh-mallet 的启发。
依赖项
~5MB
~102K SLoC