修复了ssh私钥登录失败的问题
This commit is contained in:
parent
0dbdaf1489
commit
d132a0ac65
@ -12,7 +12,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
|||||||
RUN apk add gcc g++
|
RUN apk add gcc g++
|
||||||
RUN go env && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags "-static"' -o next-terminal main.go
|
RUN go env && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags "-static"' -o next-terminal main.go
|
||||||
|
|
||||||
FROM guacamole/guacd:1.2.0
|
FROM guacamole/guacd:1.1.0
|
||||||
|
|
||||||
LABEL MAINTAINER="helloworld1024@foxmail.com"
|
LABEL MAINTAINER="helloworld1024@foxmail.com"
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ ln -s /usr/local/lib/freerdp/guacdr.so /usr/lib64/freerdp/
|
|||||||
|
|
||||||
配置guacamole-server
|
配置guacamole-server
|
||||||
```shell
|
```shell
|
||||||
cat <<EOF >> /etc/guacamole/guacd.conf
|
mkdir /etc/guacamole/ & cat <<EOF >> /etc/guacamole/guacd.conf
|
||||||
[daemon]
|
[daemon]
|
||||||
pid_file = /var/run/guacd.pid
|
pid_file = /var/run/guacd.pid
|
||||||
log_level = info
|
log_level = info
|
||||||
|
@ -58,7 +58,6 @@ func AssetUpdateEndpoint(c echo.Context) error {
|
|||||||
item.PrivateKey = "-"
|
item.PrivateKey = "-"
|
||||||
item.Passphrase = "-"
|
item.Passphrase = "-"
|
||||||
case "private-key":
|
case "private-key":
|
||||||
item.Username = "-"
|
|
||||||
item.Password = "-"
|
item.Password = "-"
|
||||||
item.CredentialId = "-"
|
item.CredentialId = "-"
|
||||||
case "custom":
|
case "custom":
|
||||||
|
@ -91,6 +91,7 @@ func TunEndpoint(c echo.Context) error {
|
|||||||
break
|
break
|
||||||
case "ssh":
|
case "ssh":
|
||||||
if len(session.PrivateKey) > 0 && session.PrivateKey != "-" {
|
if len(session.PrivateKey) > 0 && session.PrivateKey != "-" {
|
||||||
|
configuration.SetParameter("username", session.Username)
|
||||||
configuration.SetParameter("private-key", session.PrivateKey)
|
configuration.SetParameter("private-key", session.PrivateKey)
|
||||||
configuration.SetParameter("passphrase", session.Passphrase)
|
configuration.SetParameter("passphrase", session.Passphrase)
|
||||||
} else {
|
} else {
|
||||||
|
@ -81,6 +81,7 @@ class Access extends Component {
|
|||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
uploadVisible: false,
|
uploadVisible: false,
|
||||||
uploadLoading: false,
|
uploadLoading: false,
|
||||||
|
startTime: new Date()
|
||||||
};
|
};
|
||||||
|
|
||||||
async componentDidMount() {
|
async componentDidMount() {
|
||||||
@ -226,7 +227,11 @@ class Access extends Component {
|
|||||||
this.showMessage('资源已关闭');
|
this.showMessage('资源已关闭');
|
||||||
break;
|
break;
|
||||||
case 519:
|
case 519:
|
||||||
|
if (new Date().getTime() - this.state.startTime.getTime() <= 1000 * 30) {
|
||||||
|
this.showMessage('认证失败');
|
||||||
|
} else {
|
||||||
this.showMessage('远程服务未找到');
|
this.showMessage('远程服务未找到');
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 520:
|
case 520:
|
||||||
this.showMessage('远程服务不可用');
|
this.showMessage('远程服务不可用');
|
||||||
@ -472,6 +477,11 @@ class Access extends Component {
|
|||||||
message.error(result['message']);
|
message.error(result['message']);
|
||||||
} else {
|
} else {
|
||||||
let session = result['data'];
|
let session = result['data'];
|
||||||
|
if (session['status'] === 'connected') {
|
||||||
|
clearInterval(stateChecker);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (session['status'] === 'disconnected') {
|
if (session['status'] === 'disconnected') {
|
||||||
this.showMessage(session['message']);
|
this.showMessage(session['message']);
|
||||||
clearInterval(stateChecker);
|
clearInterval(stateChecker);
|
||||||
@ -697,6 +707,8 @@ class Access extends Component {
|
|||||||
let result = await request.get(url);
|
let result = await request.get(url);
|
||||||
|
|
||||||
if (result.code !== 1) {
|
if (result.code !== 1) {
|
||||||
|
message.error(result['message']);
|
||||||
|
message.error(result['message']);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ const AssetModal = function ({title, visible, handleOk, handleCancel, confirmLoa
|
|||||||
handleAccountTypeChange('custom');
|
handleAccountTypeChange('custom');
|
||||||
break;
|
break;
|
||||||
case 'vnc':
|
case 'vnc':
|
||||||
port = 5901;
|
port = 5900;
|
||||||
setAccountTypes(protocolMapping['vnc']);
|
setAccountTypes(protocolMapping['vnc']);
|
||||||
form.setFieldsValue({
|
form.setFieldsValue({
|
||||||
accountType: 'custom',
|
accountType: 'custom',
|
||||||
@ -188,6 +188,10 @@ const AssetModal = function ({title, visible, handleOk, handleCancel, confirmLoa
|
|||||||
{
|
{
|
||||||
accountType === 'private-key' ?
|
accountType === 'private-key' ?
|
||||||
<>
|
<>
|
||||||
|
<Form.Item label="授权账户" name='username'>
|
||||||
|
<Input placeholder="输入授权账户"/>
|
||||||
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item label="私钥" name='privateKey' rules={[{required: true, message: '请输入私钥'}]}>
|
<Form.Item label="私钥" name='privateKey' rules={[{required: true, message: '请输入私钥'}]}>
|
||||||
<TextArea rows={4}/>
|
<TextArea rows={4}/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
Loading…
Reference in New Issue
Block a user