diff --git a/terminus-ssh/src/components/promptModal.component.ts b/terminus-ssh/src/components/promptModal.component.ts index b40845c557841669854791810c996777bb8d5d68..e67c10d3803b4e4cfa4456f871b513c18984ada9 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 8a49a924138854dfd5e6b4a0305954e88b8790cf..6b5addb047a603ba0028e5e29f8fdccc309f2616 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