Add support for %h and %r escape characters in IdentityFile for SSH. (#10343)

* Add support for %h and %r escape characters in IdentityFile for SSH.
See section "IdentityFile" on https://linux.die.net/man/5/ssh_config for
details.

* Fix lint warnings.
This commit is contained in:
mannjani 2025-03-05 13:58:31 +05:30 committed by GitHub
parent b83b2e5acc
commit 4a515d9432
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -162,9 +162,11 @@ export class SSHSession {
this.allAuthMethods = [{ type: 'none' }]
if (!this.profile.options.auth || this.profile.options.auth === 'publicKey') {
if (this.profile.options.privateKeys?.length) {
for (const pk of this.profile.options.privateKeys) {
for (let pk of this.profile.options.privateKeys) {
// eslint-disable-next-line @typescript-eslint/init-declarations
let contents: Buffer
pk = pk.replace('%h', this.profile.options.host)
pk = pk.replace('%r', this.profile.options.user)
try {
contents = await this.fileProviders.retrieveFile(pk)
} catch (error) {