The comments assume you are using Unix or Linux as your workstation.
I haven't used PuTTY in a long time, but I do recall that the format PuTTY keys used were non-standard.
However, the built-in ssh in Win10 and Win11 comes with ssh-keygen.exe and you can create standard keys using it. Sadly, ssh-copy-id.exe is not part of MS-Windows, so you get to manually copy the public key to the Linux box.
I know nothing of "importing a new key".
The typical way is to create a new key on the client machine, then copy the public-key part to teh remote system.
Code:
# Step 1: Run on the client as the normal user:
$ ssh-keygen -t ed25519
# Step 2: Run from the client to the server:
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub username@remote
That's it. If you want to have different keys for different remote systems, just run keygen with a different -i filename specified.
I've never used Ubuntu Core. I don't like the idea of someone else being between my computers and me. I suppose if you've decided to run Ubuntu Core, then there are specific reasons why that choices was made.
Don't know how much any of this helps or even if it does. For how to do things the PuTTY way, I suspect you'll need to read the PuTTY documentation. If you are on a Linux workstation, there's little reason to use putty. Just use any terminal program you like with ssh directly. The ~/.ssh/config file can make that really, really, convenient by filling in any specific settings or/and a different identity, as needed. Further, the ~/.ssh/config file is used by all ssh-based tools on the system, so any settings there apply to all the tools you might use.