diff --git a/terminus-ssh/src/components/promptModal.component.ts b/terminus-ssh/src/components/promptModal.component.ts index b40845c5..e67c10d3 100644 --- a/terminus-ssh/src/components/promptModal.component.ts +++ b/terminus-ssh/src/components/promptModal.component.ts @@ -14,7 +14,9 @@ export class PromptModalComponent { ) { } ngOnInit () { - this.input.nativeElement.focus() + setTimeout(() => { + this.input.nativeElement.focus() + }) } ok () { diff --git a/terminus-ssh/src/services/ssh.service.ts b/terminus-ssh/src/services/ssh.service.ts index 8a49a924..6b5addb0 100644 --- a/terminus-ssh/src/services/ssh.service.ts +++ b/terminus-ssh/src/services/ssh.service.ts @@ -49,7 +49,11 @@ export class SSHService { if (privateKey) { this.logger.info('Loaded private key from', privateKeyPath) - if (privateKey.includes('ENCRYPTED')) { + let encrypted = privateKey.includes('ENCRYPTED') + if (privateKeyPath.toLowerCase().endsWith('.ppk')) { + encrypted = encrypted || privateKey.includes('Encryption:') && !privateKey.includes('Encryption: none') + } + if (encrypted) { let modal = this.ngbModal.open(PromptModalComponent) modal.componentInstance.prompt = 'Private key passphrase' modal.componentInstance.password = true