ci(api): docker-compose & docs
62
README.md
@@ -1,4 +1,5 @@
|
|||||||
<h3 align="center">OneTerm</h3>
|
<h3 align="center">OneTerm</h3>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/veops/oneterm/blob/main/LICENSE"><img src="https://img.shields.io/github/license/veops/oneterm" alt="Apache License 2.0"></a>
|
<a href="https://github.com/veops/oneterm/blob/main/LICENSE"><img src="https://img.shields.io/github/license/veops/oneterm" alt="Apache License 2.0"></a>
|
||||||
<a href="https://github.com/veops/oneterm/releases">
|
<a href="https://github.com/veops/oneterm/releases">
|
||||||
@@ -8,11 +9,10 @@
|
|||||||
<a href="https:https://github.com/sendya/ant-design-pro-vue"><img src="https://img.shields.io/badge/UI-Ant%20Design%20Pro%20Vue-brightgreen" alt="UI"></a>
|
<a href="https:https://github.com/sendya/ant-design-pro-vue"><img src="https://img.shields.io/badge/UI-Ant%20Design%20Pro%20Vue-brightgreen" alt="UI"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**`OneTerm`** Bastion Host, based on the 4A concept, i.e., Authentication, Authorization, Account, and Audit, is designed and developed.
|
<p align="center">
|
||||||
|
A Simple, Lightweight, Flexible Bastion Host.
|
||||||
|
</p>
|
||||||
|
|
||||||
`Main use`: It is mainly used for products that enhance IT internal control and compliance security by implementing control and audit of IT personnel's operating behaviors in enterprises.
|
|
||||||
|
|
||||||
`Main functions`: role management, authorization approval, resource access control, session audit, etc.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
English / [中文](README_cn.md)
|
English / [中文](README_cn.md)
|
||||||
@@ -40,58 +40,22 @@ docker-compose up -d
|
|||||||
- password: 123456
|
- password: 123456
|
||||||
|
|
||||||
|
|
||||||
## SSH
|
## 🎯Features
|
||||||
### View
|
|
||||||

|
|
||||||
### Login
|
|
||||||
```shell
|
|
||||||
ssh -p12229 admin@127.0.0.1 # Note that the port, user, and address need to be replaced with your current environment
|
|
||||||
```
|
|
||||||
### Passwordless Login Configuration
|
|
||||||
> Terminal passwordless login is designed for enhanced security and convenience.
|
|
||||||
1. Generate and retrieve the public key, get the MAC address
|
|
||||||
```shell
|
|
||||||
ssh-keygen -t ed25519 # Generate the key following the prompts
|
|
||||||
cat /root/.ssh/id_ed25519.pub # Copy the public key. The public key address is obtained from the generation process as shown in the previous step
|
|
||||||
ifconfig | grep -B1 "xxx.xxx.xxx.xxx" | awk '/ether/{print $2}' # Get the MAC address, replace xxx.xxx.xxx.xxx with your local IP
|
|
||||||
```
|
|
||||||

|
|
||||||
|
|
||||||
2. Place the public key and MAC on the platform
|
- Asset Managent (SSH RDP VNC)
|
||||||

|
- Account Management
|
||||||
|
- Authorization
|
||||||
|
- Session Management
|
||||||
|
- Online Session: Monitor, Force Kill
|
||||||
|
- Offline Session: Replay, Download
|
||||||
|
- SSH Server
|
||||||
|
- Asset & Account Auto Discovery
|
||||||
|
|
||||||
### More Streamlined Login Method
|
|
||||||
```shell
|
|
||||||
ssh oneterm
|
|
||||||
```
|
|
||||||
> To achieve this effect, you can configure as follows:
|
|
||||||
1. Create the ssh config file
|
|
||||||
```shell
|
|
||||||
touch ~/.ssh/config
|
|
||||||
```
|
|
||||||
2. Add the following content to **`~/.ssh/config`**
|
|
||||||
```shell
|
|
||||||
Host oneterm
|
|
||||||
HostName 127.0.0.1 # Replace with the address of your oneterm's ssh server
|
|
||||||
Port 12229 # Replace with the port of your oneterm's ssh server
|
|
||||||
User admin # Replace with your platform user on oneterm
|
|
||||||
```
|
|
||||||
|
|
||||||
## VNC/RDP
|
|
||||||

|
|
||||||
|
|
||||||
## 🎯TODO
|
|
||||||
- [ ] The asset list is associated with the CMDB authorization service tree.
|
|
||||||
- [ ] The web terminal page supports multiple sessions with tabs, etc.
|
|
||||||
|
|
||||||
## 📚Docs
|
## 📚Docs
|
||||||
|
|
||||||
doc link:https://veops.cn/docs/docs/oneterm/onterm_design
|
doc link:https://veops.cn/docs/docs/oneterm/onterm_design
|
||||||
|
|
||||||
## 🔗Releated Projects
|
|
||||||
|
|
||||||
[go-ansiterm](https://github.com/veops/go-ansiterm):Linux terminal emulator
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
<a href="https://github.com/veops/oneterm/graphs/contributors">
|
<a href="https://github.com/veops/oneterm/graphs/contributors">
|
||||||
|
72
README_cn.md
@@ -8,11 +8,9 @@
|
|||||||
<a href="https:https://github.com/sendya/ant-design-pro-vue"><img src="https://img.shields.io/badge/UI-Ant%20Design%20Pro%20Vue-brightgreen" alt="UI"></a>
|
<a href="https:https://github.com/sendya/ant-design-pro-vue"><img src="https://img.shields.io/badge/UI-Ant%20Design%20Pro%20Vue-brightgreen" alt="UI"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**`OneTerm`** 堡垒机,基于4A理念,即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)设计开发。
|
<p align="center">
|
||||||
|
一款简单、轻量、灵活的堡垒机服务.
|
||||||
`主要用途`:主要用于企业通过实现对IT人员操作行为的控制和审计来提升IT内部控制、合规安全性的产品。
|
</p>
|
||||||
|
|
||||||
`主要功能`:角色管理、授权审批、资源访问控制、会话审计等。
|
|
||||||
|
|
||||||
---
|
---
|
||||||
[English](README.md) / 中文
|
[English](README.md) / 中文
|
||||||
@@ -23,8 +21,6 @@
|
|||||||
> **重要提示**: **`main`** 分支在开发过程中可能处于不稳定的状态,请通过[release](https://github.com/veops/oneterm/releases)获取,或者直接通过镜像部署
|
> **重要提示**: **`main`** 分支在开发过程中可能处于不稳定的状态,请通过[release](https://github.com/veops/oneterm/releases)获取,或者直接通过镜像部署
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 🚀安装
|
## 🚀安装
|
||||||
|
|
||||||
### docker-compose
|
### docker-compose
|
||||||
@@ -36,64 +32,26 @@ docker-compose up -d
|
|||||||
```
|
```
|
||||||
|
|
||||||
## ✅验证
|
## ✅验证
|
||||||
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
- 浏览器: [http://127.0.0.1:8666](http://127.0.0.1:8666)
|
||||||
- username: admin
|
- 账号: admin
|
||||||
- password: 123456
|
- 密码: 123456
|
||||||
|
|
||||||
## SSH终端
|
## 🎯功能
|
||||||
### 效果
|
|
||||||

|
|
||||||
### 登录
|
|
||||||
```shell
|
|
||||||
ssh -p12229 admin@127.0.0.1 # 注意这里端口,用户,地址需要换成您当前环境的
|
|
||||||
```
|
|
||||||
### 免密登录配置
|
|
||||||
> 终端免密登录是为了增加安全性以及便捷性而设计
|
|
||||||
1. 生成并获取公钥, 获取mac地址
|
|
||||||
```shell
|
|
||||||
ssh-keygen -t ed25519 # 根据提示生成key
|
|
||||||
cat /root/.ssh/id_ed25519.pub # 拷贝公钥, 公钥地址从上一步生成的过程中获取,如下图所示
|
|
||||||
ifconfig | grep -B1 "xxx.xxx.xxx.xxx" | awk '/ether/{print $2}' # 获取mac地址, 其中xxx.xxx.xxx.xxx换成您本机的IP
|
|
||||||
```
|
|
||||||
|
|
||||||

|
- 资产管理 (SSH RDP VNC)
|
||||||
|
- 账号管理
|
||||||
2. 将公钥和mac放在平台上
|
- 权限认证
|
||||||

|
- 会话管理
|
||||||
|
- 在线会话: 监控、强制关闭
|
||||||
### 更精简的的登录方式
|
- 离线会话: 回放, 下载
|
||||||
```shell
|
- SSH服务
|
||||||
ssh oneterm
|
- 资产账号自动发现
|
||||||
```
|
|
||||||
> 要达到这种效果,可进行如下配置
|
|
||||||
1. 创建ssh config文件
|
|
||||||
```shell
|
|
||||||
touch ~/.ssh/config
|
|
||||||
```
|
|
||||||
2. 将以下内容添加到 **`~/.ssh/config`**
|
|
||||||
```shell
|
|
||||||
Host oneterm
|
|
||||||
HostName 127.0.0.1 # 此处替换为您oneterm的ssh server的地址
|
|
||||||
Port 12229 # 此处替换为您oneterm的ssh server的端口
|
|
||||||
User admin # 此处替换为您oneterm上的平台用户
|
|
||||||
```
|
|
||||||
|
|
||||||
## VNC/RDP
|
|
||||||

|
|
||||||
|
|
||||||
## 🎯下一步计划
|
|
||||||
- [ ] 资产列表关联CMDB授权服务树
|
|
||||||
- [ ] web终端页面多个session支持tab等
|
|
||||||
|
|
||||||
## 📚产品文档
|
## 📚产品文档
|
||||||
|
|
||||||
文档地址:https://veops.cn/docs/docs/oneterm/onterm_design
|
文档地址:https://veops.cn/docs/docs/oneterm/onterm_design
|
||||||
|
|
||||||
|
|
||||||
## 🔗相关项目
|
|
||||||
|
|
||||||
[go-ansiterm](https://github.com/veops/go-ansiterm):linux终端仿真器,主要是根据终端输入和服务器回显解析命令
|
|
||||||
|
|
||||||
## 如何贡献
|
## 如何贡献
|
||||||
|
|
||||||
<a href="https://github.com/veops/oneterm/graphs/contributors">
|
<a href="https://github.com/veops/oneterm/graphs/contributors">
|
||||||
|
@@ -16,6 +16,9 @@ services:
|
|||||||
new:
|
new:
|
||||||
aliases:
|
aliases:
|
||||||
- oneterm-api
|
- oneterm-api
|
||||||
|
tty: true
|
||||||
|
ports:
|
||||||
|
- "2222:2222"
|
||||||
|
|
||||||
oneterm-guacd:
|
oneterm-guacd:
|
||||||
image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-guacd:latest
|
image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-guacd:latest
|
||||||
@@ -100,6 +103,7 @@ services:
|
|||||||
- |
|
- |
|
||||||
sleep 2
|
sleep 2
|
||||||
flask db-setup
|
flask db-setup
|
||||||
|
flask common-check-new-columns
|
||||||
flask init-acl
|
flask init-acl
|
||||||
flask init-department
|
flask init-department
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 606 KiB |
Before Width: | Height: | Size: 486 KiB |
Before Width: | Height: | Size: 213 KiB |