Files
certd/packages/ui/certd-server/src/plugins/plugin-host/access/ssh-access.ts
2024-10-25 21:47:28 +08:00

106 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { AccessInput, BaseAccess, IsAccess } from '@certd/pipeline';
import { ConnectConfig } from 'ssh2';
@IsAccess({
name: 'ssh',
title: '主机登录授权',
desc: '',
input: {},
})
export class SshAccess extends BaseAccess implements ConnectConfig {
@AccessInput({
title: '主机地址',
component: {
placeholder: '主机域名或IP地址',
},
required: true,
})
host!: string;
@AccessInput({
title: '端口',
value: 22,
component: {
name: 'a-input-number',
placeholder: '22',
},
rules: [{ required: true, message: '此项必填' }],
})
port!: number;
@AccessInput({
title: '用户名',
value: 'root',
rules: [{ required: true, message: '此项必填' }],
})
username!: string;
@AccessInput({
title: '密码',
component: {
name: 'a-input-password',
vModel: 'value',
},
encrypt: true,
helper: '登录密码或密钥必填一项',
})
password!: string;
@AccessInput({
title: '私钥登录',
helper: '私钥或密码必填一项',
component: {
name: 'a-textarea',
vModel: 'value',
},
encrypt: true,
})
privateKey!: string;
@AccessInput({
title: '私钥密码',
helper: '如果你的私钥有密码的话',
component: {
name: 'a-input-password',
vModel: 'value',
},
encrypt: true,
})
passphrase!: string;
@AccessInput({
title: 'socks代理',
helper: 'socks代理配置格式socks5://user:password@host:port',
component: {
name: 'a-input',
vModel: 'value',
placeholder: 'socks5://user:password@host:port',
},
encrypt: false,
})
socksProxy!: string;
@AccessInput({
title: '是否Windows',
helper: '如果是Windows主机请勾选此项\n并且需要windows[安装OpenSSH](https://certd.docmirror.cn/guide/use/host/windows.html)',
component: {
name: 'a-switch',
vModel: 'checked',
},
})
windows = false;
@AccessInput({
title: '命令编码',
helper: '如果是Windows主机且出现乱码了请尝试设置为GBK',
component: {
name: 'a-select',
vModel: 'value',
options: [
{ value: '', label: '默认' },
{ value: 'GBK', label: 'GBK' },
{ value: 'UTF8', label: 'UTF-8' },
],
},
})
encoding: string;
}
new SshAccess();