This tutorial shows how to deploy and use OpenSSH from the Windows Terminal on Windows 11, using the KeePass Password Manager.
Add KeePass URL Override Scheme
In the first step, a schema element for URL Override is created in KeePass, go to Tools – Options.
then in the Integration tab, click the URL Overrides button at the bottom.
In the URL Override window, click Add to enter a new schema.
As a scheme name I use “winterm” here. Under URL override, insert the following line.
cmd://wt ssh "{USERNAME}@{TITLE}"
run “wt” to start the windows terminal emulator, then append the user name in brace and the hostname from the title field.
Confirm with OK and close KeePass and start again.
After our schema element winterm is created, we create a new entry with choose Add Entry, enter the hostname in Title , add User name with Password, in the field URL insert “winterm:” with colon.
Start Windows Terminal SSH session
The saved entry is now available, with a double click on URL the SSH connection is started here to the Linuxmint.
Public key authentication
SSH access and authentication using public key procedures is not only more secure, logging in without entering a password is also easier. For this purpose, a key pair is generated on the client, the public part of the key is transferred to the server, then the server is set up for asymmetric encryption and authentication, more on this in the tutorial here or find on ssh-keygen how it works.
Under the path of the Windows user profile, create a directory “.ssh”, with dot (.), the easiest way to change to the path is to enter “%USERPROFILE%” in the Windows Explorer address bar.
The directory for e.g. c:\users\james\.ssh, which contains the file with the private key “key-ecdsa“, as well as the file “config“.
The known_hosts file is automatically generated by SSH as soon as a connection has been successfully authenticated for the first time. SSH add fingerprints to known_hosts to avoid Man-in-the-middle attacks.
We create the “config” file using the Notepad Editor, paste in the following lines.
Host linuxmint
HostName 10.10.10.10
User james
IdentityFile ~/.ssh/key-ecdsa
ServerAliveInterval 60
The host name is the one we use in KeePass at Title, the user i.e. james, the key file refers with IdentityFile to the file “key-ecdsa” under %USERPROFILE%.ssh.
OpenSSH on Windows is a port from the OpenBSD-project (open source), on unixoid operating systems the tilde (~) character is used as a relative path to the user home directory, known on Windows as the environment variable %USERPROFILE%. A leading point in file names and directories (.ssh) applies to hidden files and directories on unixoid systems.