C堡垒的命令行接口
cbas的Python项目详细描述
About
这是 *c-bastion* jump host。 它允许您上传一个ssh密钥文件并在跳转主机上创建一个用户,因此 你可以登录它。它需要一个初始连接来验证服务器 获取(open id connect)访问令牌。
基本流程如下:
+-----------------+ +-----------------+ +-----------------+ | | | | | | | developer | | jump host | | auth server | | | | | | | +--------+--------+ +--------+--------+ +--------+--------+ | | | +-----------------------------------------> | request token | | <-----------------------------------------+ | receive token | | | | | +--------------------> | | upload key +--------------------> | | validate token | | <--------------------+ <--------------------+ | | upload OK | | | | | +--------------------> | | ssh log in | | | | | | | | | | | + + +
其中,developer是本地计算机(台式机、笔记本电脑等)auth server是身份验证服务器,jump host是跳转主机。cbas接受 注意获取令牌并上传ssh密钥。
Quickstart
安装软件。
向你的一位同事索要auth-host、client-secret和 jump-host参数。
然后运行以下命令上载密钥:
$ cbas -a <AUTH-host> -s <CLIENT-SECRET> -h <JUMP-HOST> upload ...
那么您应该能够登录,使用:
$ ssh <JUMP-HOST> ...
Usage
$ cbas --help Usage: cbas [OPTIONS] COMMAND [ARGS]... Options: -v, --verbose Activate verbose mode. -c, --config <config_path> Path to config file. Default: '~/.cbas'. -u, --username <username> Username. Default: the logged in user. -k, --ssh-key-file <key-file> SSH Identity to use. Default: '~/.ssh/id_rsa.pub'. -p, --password-provider <provider> Password provider. Default: 'prompt'. -s, --client-secret <secret> Special client secret, ask mum. -a, --auth-host <host> Auth-server host. -h, --jump-host <host> Jump host to connect with. --version Print version and exit. --help Show this message and exit. Commands: delete Delete user. dry_run Dry run, sanitize all config only. upload Upload ssh-key and create user.
选项
- 详细
- 此开关激活详细输出,在调试时非常有用
- 配置
- 配置文件的路径。注意,因为我们正在使用 yamlreader包,这个可以 同时也是一个包含多个配置文件的目录。而且,配置是在yaml中 语法,见下文。
- 用户名
- 与身份验证服务器通信时的用户名。请注意 返回的令牌包含经过身份验证的用户名,该用户名随后 发送到跳转主机。因此您将无法创建任意用户 在跳转主机上
- ssh密钥文件
- 指向publicssh密钥文件的路径。这将上载到跳转主机。
- 密码提供程序
- 从何处获取密码。有效值是prompt和keyring (和testing)。prompt将始终要求输入密码,而 keyring只询问一次,然后将密码存储在系统中 钥匙圈。
- 验证主机
- 验证服务器的主机名。例如auth-server.example。(注意,通过 默认情况下,这将使用https://作为方案,/oauth/token作为 端点。但是,请解释url,例如http://auth-server.example和 显式终结点,例如auth-server.example/special/id/auth是 允许。)
- 客户端机密
- 与 验证服务器。
- 跳转主机
- 跳转主机的主机名。例如jump-host.example。(注意,通过 默认情况下,这将使用https://。但是,请解释URL,例如 http://jump-host.example是允许的。)
- 版本
- 帮助
- 显示帮助和退出。< /DD>
子命令
- 上传
- 上载ssh密钥文件并创建用户。
- 干运行
- 清除并聚合配置文件和命令行中的所有选项。不要 连接到任何内容。
- 删除 再次删除您的用户。例如:如果上载了错误的ssh密钥文件。
Config-File
cbas配备了强大的配置机制。所有相关的 可以在命令行上提供的参数也可以在 配置文件,例如:
username:acid_burnssh-key-file:~/.ssh/mykey_rsa.pubauth-host auth-server.exampleclient-secret:mysupersecretpassword-provider:keyringjump-host:jump-host.example
请注意,在命令行上提供的任何参数都将采用 优先于通过配置文件提供的那些。如果有疑问,请尝试使用 --verbose开关。
License
版权所有2016 Immobilien Scout GmbH
根据apache许可证2.0版(以下简称“许可证”)授权;您不能使用 此文件与许可证不符。您可以获得 许可证位于
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件将被分发 根据许可证,是按“原样”分发的,没有保证或 条件任何形式,无论是明示的还是默示的。查看许可证 管理许可下的权限和限制的特定语言。