Created TELEPORT CORE JSON-RPC (markdown)

master
Apex Liu 2017-02-20 03:31:45 +08:00
parent c6f740e997
commit 3c2e12a5b1
1 changed files with 191 additions and 0 deletions

191
TELEPORT-CORE-JSON-RPC.md Normal file

@ -0,0 +1,191 @@
# TELEPORT CORE JSON-RPC
本文详细描述teleport core服务提供的RPC接口。
TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下:
`http://127.0.0.1:52080/method/params`
其中params是经过urlencode后的json格式的字符串。
所有的返回数据均为json格式其中包含`code`域指明执行情况,如果有附加返回数据,则包含在`data`域中。如果发生错误,则`code`域为非0值并且由`message`域指明错误原因。例如:
```json
// 成功返回
{
"code": 0,
"data": {
"sid": "123456abcd"
}
}
// 失败返回
{
"code": 4,
"message": "无法创建指定目录。"
}
```
注意接口中的认证信息是使用AES加密算法加密的解密密钥来自配置文件详情请查阅WEB服务的JSON-RPC接口文档。
## JSON-RPC methods
- [request_session](#request_session)
- [enc](#enc)
- [status](#status)
- [exit](#exit)
## JSON RPC API Reference
### request_session
申请一个会话ID供web服务调用。每当获取一个会话IDweb服务均会将其记录到一个表中备用。
目前有两种方式可以获取会话ID。
#### 已知认证ID
认证ID是由远程主机信息、认证信息等关联映射后生成的一个ID将一个主机授权给一个用户将产生一个认证ID。
##### 参数
1. `authid` - 认证ID十进制数字
##### 返回
1. `sid` - 一个十六进制字符串形式的会话ID。
##### 示例
```json
// Request
{
"authid": 12345
}
// Result
{
"code": 0,
"data": {
"sid": "0123abcdef"
}
}
```
#### 已知认证信息
一般用于页面测试连接之用。
##### 参数
1. `ip` - 远程主机的IP地址
2. `port` - 远程主机的端口
3. `uname` - 登录远程主机的用户名
4. `uauth` - 登录远程主机的认证信息密码或者私钥是密文的base64编码字符串
5. `authmode` - uauth域的类型1 = 密码2 = 私钥
6. `protocol` - 登录协议1 = RDP2 = SSH3 = TELNET
##### 返回
同已知认证ID。
##### 示例
```json
// Request
{
"ip": "192.168.0.8",
"port": 23,
"uname": "root",
"uauth": "b903239f8543d04b5d13b143087c68d1b2168786408fcbce5f5374fce5edbc8e2a8697c15331677e6ebf0b",
"authmode": 1
"protocol": 2
}
// Result
{
"code": 0,
"data": {
"sid": "0123abcdef"
}
}
```
---
### enc
加密一个字符串。
#### 参数
1. `p` - 被加密的明文字符串
#### 返回
1. `c` - 加密后的密文的base64编码字符串
#### 示例
```json
// Request
{
"p": "this-is-a-password"
}
// Result
{
"code": 0,
"data": {
"c": "Mxs340a9r3fs+3sdf=="
}
}
```
---
### status
获取core服务的工作状态和基本信息。
#### 参数
无参数。
#### 返回
1. `up` - 服务已运行时间(秒)
2. `connections` - 当前连接数
3.
#### 示例
```json
// Result
{
"code": 0,
"data": {
"up": 138437,
"connections": 52
}
}
```
---
### exit
退出服务。
#### 参数
无参数。
#### 返回
无返回数据。