LazySSH-按需启动机器的跳转主机SSH服务器

2020-11-13 23:44:41

LazySSH是一个SSH服务器,它只充当跳转主机,并动态启动临时虚拟机。

如果您发现自己短暂地启动了一个虚拟机,只是为了通过SSH进入它并尝试一些东西,LazySSH是一种尝试,只需通过ssh命令就可以自动执行该流程。LazySSH在您连接时为您启动计算机,并在断开连接后关闭(一段时间)。

另一个可能的用途是让LazySSH位于构建服务器前面,为您的构建启动特定类型的机器。(想想不同的CPU架构或操作系统。)。

重要提示:LazySSH是一段年轻的代码。如果您打算使用它来创建成本较高的资源(如AWS EC2实例),请密切关注其使用情况。例如,如果您在错误的时间让笔记本电脑进入睡眠状态,或者LazySSH出于任何原因崩溃,它可能会让资源继续运行。

重要提示:LazySSH的安全性没有经过任何测试,所以最好在封闭的环境下运行。(没有面对公共互联网,也没有其他防火墙。)。SSH服务器实现基于golang.org/x/crypto。

从Release页面获取二进制文件。如果你想自己构建LazySSH,你至少需要使用1.13版本,然后就去构建吧。

您需要生成SSH主机密钥和客户端密钥。主机密钥是服务器用来标识自身的密钥,而客户端密钥是您连接的密钥。

#这两者还会生成一个.pub文件,其中包含密钥对的公共部分。ssh-keygen-t ed25519-f lazyssh_host_keyssh-keygen-t ed25519-f lazyssh_client_key。

Server{#将其设置为上面生成的lazyssh_host_key的内容。HOST_KEY=<;<;-EOF-BEGIN OPENSSH私钥-[...]-End OPENSSH私钥-EOF#将其设置为上面生成的lazyssh_Client_key.pub的内容。授权密钥=<;<;-EOF ssh-ed25519[...]。EOF}。

服务器块之后是一个或多个目标块。以下是当前支持的目标类型以及指向文档的链接:

您通常需要在~/.ssh/config中为LazySSH输入一个条目,因为否则ssh命令不会使跳转主机的所有选项都可用。以下是示例配置: