I spent about 2 days trying to accomplish this and had googled information regarding packages such as cryptography, PyNaCl and paramiko.
How to use ssh-keygen ed25519 keys for encryption in Python?
2.9k views Asked by LJHW At
1
There are 1 answers
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in SSH
- Is there a way to prevent vscode from forwarding ssh agent to remote dev container?
- problem to push files on a repository git
- How to connect to ssh server with domain name
- GIT SKIP EMPTY DIRECTORIES
- Share files from the server without data or internet usage
- Is it possible for `sudo` to fail temporarily with the correct password? Hacking suspected
- How to add a second ssh public key to authorized_keys file in the server?
- Termux: Different scrolling behaviour after "screen"-command
- Remote debugging via SSH Tunnel
- Why can I not login to a new linux system (amazon linux 2023) from an old one (CentOS 6)
- Can't establish ssh connection to IP address but can to git
- Using Maven to feed minikube on a VM
- Connect ssh to cisco switch with ansible
- PowerShell Command via SSH
- How to automate an SSH login with a batch file?
Related Questions in PYNACL
- Does PyNaCl release GIL and should it be used with multithreading
- pynacl module installed but not found
- databricks-connect cannot load module in udf
- Simple discord.py mp3 bot not playing music
- Solana, verify a signature with python
- Sign a text with pynacl (Ed25519) importing a private key
- Unable To Run AzureML Experiment with SDK - Failed to Build Wheel for pynacl / Exit status:1
- How to use Python to save nacl SigningKey public and private keys as plain text?
- PyNaCl library needed, imported, but still needed
- How to verify with Python (PyNaCl) a message signed by Solana wallet adapter (javascript)
- Signing a payload which is already hashed in pynacl
- I am trying to code a discord music bot and came with this problem
- Cannot install erdpy on macOS - failed building wheel for pynacl
- Encrypt in tweet-nacl (javascript) and decrypt in python
- Finding corresponding PyNaCL functions in libsodium (C#)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Finally I found some example code sealing.py at https://gist.github.com/R-VdP/b7ac0106a4fd395ee1c37bfe6f552a36 with thanks to Ramses at GitHub https://github.com/R-VdP.
You can read your id_ed25519 and id_ed25519.pub files that were generated with ssh-keygen with open, strip out the keys as text, then use extract_curve_private_key and extract_curve_public_key from sealing.py. These keys can be used for constructing Box classes from PyNaCl. Hence you can accomplish symmetric, asymmetric and signing operations using Ramses' code and PyNaCl.
Hope this helps some people spend less time googling than I did.
EDIT: Have added wrapper class and client code after suggestion from Kenster. The files in data/ are produced via ssh-keygen -t ed25519 with no passphrase. Note this is a thin class wrapper around Ramses' code whom deserves credit.