ssh: respect keyboard-interactive prompt echo setting - fixes #5045

上级 f308fd48
......@@ -2,7 +2,7 @@
strong Keyboard-interactive auth
.ml-2 {{prompt.name}}
.prompt-text {{prompt.prompts[step]}}
.prompt-text {{prompt.prompts[step].prompt}}
input.form-control.mt-2(
#input,
......
......@@ -15,7 +15,7 @@ export class KeyboardInteractiveAuthComponent {
@ViewChild('input') input: ElementRef
isPassword (): boolean {
return this.prompt.prompts[this.step].toLowerCase().includes('password')
return this.prompt.prompts[this.step].prompt.toLowerCase().includes('password') || !this.prompt.prompts[this.step].echo
}
previous (): void {
......
......@@ -11,6 +11,7 @@ import { ConfigService, FileProvidersService, HostAppService, NotificationsServi
import { BaseSession } from 'tabby-terminal'
import { Socket } from 'net'
import { Client, ClientChannel, SFTPWrapper } from 'ssh2'
import type { Prompt } from 'ssh2-streams'
import { Subject, Observable } from 'rxjs'
import { ProxyCommandStream, SocksProxyStream } from '../services/ssh.service'
import { PasswordStorageService } from '../services/passwordStorage.service'
......@@ -34,7 +35,7 @@ export class KeyboardInteractivePrompt {
constructor (
public name: string,
public instruction: string,
public prompts: string[],
public prompts: Prompt[],
private callback: (_: string[]) => void,
) { }
......@@ -213,7 +214,7 @@ export class SSHSession extends BaseSession {
this.emitKeyboardInteractivePrompt(new KeyboardInteractivePrompt(
name,
instructions,
prompts.map(x => x.prompt),
prompts,
finish,
))
}))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册