hernandev / yoke
Yoke:SSH连接管理器/钱包
v1.0.9
2022-11-08 16:08 UTC
Requires
- php: >=8.1
- ext-json: *
- ext-openssl: *
- symfony/console: ^6
- symfony/process: ^6
- symfony/yaml: ^6
Requires (Dev)
- roave/security-advisories: dev-latest
- symfony/var-dumper: ^6
README
Yoke是一个基于PHP的SSH连接管理器。有时存储服务器主机、用户名、端口和密码可能很棘手,SSH密钥认证可以让我们更容易地完成这项任务,但它并不能解决记住所有其他信息的问题。此外,有时我们面临的情况是必须使用多个私钥进行认证(比如AWS上的多个账户)。
Yoke的目标是成为一个用于服务器管理的单一仓库,允许您只需记住别名即可快速连接到服务器,例如。
yoke connect myserver
考虑到安全性,所有关于您服务器的信息都使用AES 256进行加密。
注意 加密密钥也存储在您的计算机中,Yoke的加密只能让用户更难识别和解析信息。但就像SSH私钥一样,它不能防止他人访问您的文件系统。
安装
为了使用Yoke,您需要安装PHP 8+,并启用openssl扩展(大多数安装默认启用)
安装过程基于全局composer包,因此您需要一个正常工作的composer安装,并设置正确的二进制路径。阅读这篇教程
如果您满足要求,可以通过运行以下命令来安装Yoke
composer global require yokessh/yoke
这就是您需要做的所有事情!现在是使用说明的时间。
使用
使用Yoke非常简单直观。
添加服务器连接
为了存储新的连接,只需运行以下命令
yoke add [alias]
您将接着被问几个问题
Registering a new Server Configuration!
Server connection alias (server1): sample-server
👤 Server username (none): sample-user
🖥️ Server hostname or IP Address (192.168.0.1): server.sampleapp.com
🚪 Server Port (22): 6262
🔐 Authentication Method:[system|key|password] (system): key
🔑 Private Key (~/.ssh/id_rsa):
Server registered successfully! 🥳
连接
由于我们已建立了这个连接,我们可以随时通过运行简单命令来建立连接
yoke connect sample-server
如果这是一个需要密码的服务器,您可以选择在连接时要求显示密码
yoke connect sample-server --password
很简单,对吧?
列出连接
忘记了服务器别名?别担心,您只需运行
yoke servers
以查看存储的连接列表,如下所示
+---------------+----------------------+-------------+------+--------------+ | Name | Host | Username | Port | Auth. Method | +---------------+----------------------+-------------+------+--------------+ | server-a | a.sampleapp.comm | admin | 22 | key | | server-b | b.sampleapp.com | root | 2222 | system | | server-c | c.sampleapp.com | root | 22 | password | +---------------+----------------------+-------------+------+--------------+
删除连接
不再需要存储的连接了吗?
只需运行
yoke delete alias
确认删除并完成!
最后的话
有三种不同的允许认证类型
key
- 使用指定的私钥建立连接system
- 连接时不指定私钥,它允许ssh尝试使用当前用户的密钥进行连接password
- SSH不允许将明文密码作为参数传递,Yoke将仅在屏幕上显示密码,以便您可以复制并粘贴。**强烈不建议使用密码认证**。