I used to use a private Github repo as my personal registry.
I followed the instructions in https://github.com/GunnarFarneback/LocalRegistry.jl/blob/master/docs/ssh_keys.md#3-generating-a-compatible-key to generate a RSA key stored in PEM format and set up the environment variable SSH_PUB_KEY_PATH
and SSH_KEY_PATH
.
It works fine for months. However, it starts to break today because the SSH key policy upgrade of Github.
It says that
If you’re using libgit2 or another piece of code using libssh2, we recommend you use libssh2 1.9.0 or newer and an ECDSA key, since it does not yet support RSA with SHA-2. Similarly, the Go SSH client also doesn’t yet support RSA with SHA-2, so we recommend using an Ed25519 key there
I generate a new ECDSA key with ssh-keygen
ssh-keygen -m PEM -t ECDSA
The generated key starts with -----BEGIN EC PRIVATE KEY-----
Then I change the environment variable SSH_PUB_KEY_PATH
and SSH_KEY_PATH
to point at new ECDSA key pair.
It seems that Julia cannot recognize ECDSA key but its libssh version is 1.9.0.
The platform I use is Windows 10 and the julia version is
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: AMD Ryzen 7 5800H with Radeon Graphics
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, znver3)
Environment:
JULIA_NUM_THREADS = 16