@microsoft/dev-tunnels-ssh
Version:
SSH library for Dev Tunnels
38 lines • 1.9 kB
TypeScript
import { SshService } from './sshService';
import { SshSession } from '../sshSession';
import { AuthenticationMessage } from '../messages/authenticationMessages';
import { CancellationToken } from 'vscode-jsonrpc';
import { KeyPair } from '../algorithms/publicKeyAlgorithm';
import { SshClientCredentials } from '../sshCredentials';
/**
* Handles SSH protocol messages related to client authentication.
*/
export declare class AuthenticationService extends SshService {
static readonly serviceName = "ssh-userauth";
readonly publicKeyAlgorithmName: string;
private clientAuthenticationMethods?;
private currentRequestMessage?;
private authenticationFailureCount;
private readonly disposeCancellationSource;
constructor(session: SshSession);
handleMessage(message: AuthenticationMessage, cancellation?: CancellationToken): void | Promise<void>;
private handleAuthenticationRequestMessage;
private setCurrentRequest;
private handlePublicKeyRequestMessage;
private handlePasswordRequestMessage;
private beginInteractiveAuthentication;
private handleInfoRequestMessage;
private handleInfoResponseMessage;
private handleAuthenticating;
private handleAuthenticationFailure;
authenticateClient(credentials: SshClientCredentials, cancellation?: CancellationToken): Promise<void>;
private requestUsernameAuthentication;
requestPublicKeyAuthentication(username: string, key: KeyPair, cancellation?: CancellationToken): Promise<void>;
requestPasswordAuthentication(username: string, password: string | null, cancellation?: CancellationToken): Promise<void>;
private requestInteractiveAuthentication;
private handleFailureMessage;
private handleSuccessMessage;
private createAuthenticationSignature;
dispose(): void;
}
//# sourceMappingURL=authenticationService.d.ts.map