用 Go 编写的自定义 SSH 服务器。您得到的不是 shell,而是聊天提示。
加入聚会:
$ ssh ssh.chat
参与聊天时请遵守我们项目的行为准则。
主机的公钥是ssh.chat ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKPrQofxXqoz2y9A7NFkkENt6iW8/mvpfes3RY/41Oyt
,指纹是SHA256:yoqMXkCysMTBsvhu2yRoMUl+EmZKlvkN+ZKmL3115xU
(截至 2021 年 10 月 13 日)。
如果您看到不同的东西,您可能会被 MITM 攻击。
(如果服务器宕机,请稍后重试。)
最近的版本包括 MacOS (darwin/amd64) 和 Linux(适用于 RaspberryPi 的 386、amd64 和 ARM6)的版本。
在这里获取最新的二进制版本。
玩玩它。其他部署示例位于此处。
大多数人只想要最新的二进制版本。如果您确定要从源代码编译它,请继续阅读:
您可以使用make build
编译 ssh-chat 。生成的二进制文件是可移植的,可以在具有类似操作系统和 CPU 架构的任何系统上运行。编译需要 Go 1.8 或更高版本。
如果您正在此存储库上进行开发,那么有一个方便的 Makefile 可以使用make run
进行设置。
此外, make debug
使用 http pprof
服务器运行服务器。这允许您打开 http://localhost:6060/debug/pprof/ 并查看分析数据。有关pprof
的更多信息,请参阅 net/http/pprof 。
Usage:
ssh-chat [OPTIONS]
Application Options:
-v, --verbose Show verbose logging.
--version Print version and exit.
-i, --identity= Private key to identify server with. (default: ~/.ssh/id_rsa)
--bind= Host and port to listen on. (default: 0.0.0.0:2022)
--admin= File of public keys who are admins.
--whitelist= Optional file of public keys who are allowed to connect.
--motd= Optional Message of the Day file.
--log= Write chat log to this file.
--pprof= Enable pprof http server for profiling.
Help Options:
-h, --help Show this help message
在此存储库上执行go get github.com/shazow/ssh-chat/...
后,您应该能够运行如下命令:
$ ssh-chat --verbose --bind " :22 " --identity ~ /.ssh/id_dsa
要绑定端口 22,您需要确保它是空闲的(将任何其他 ssh 守护进程移动到另一个端口)并以 root 身份(或使用 sudo)运行 ssh-chat。
常见问题解答可以在项目的 Wiki 页面上找到。请随意提交更多问题以供回答并添加到页面中。
麻省理工学院