Skip to content

Releases: therealpaulgg/ssh-sync

v1.4.0

01 Mar 00:19
db8d48f

Choose a tag to compare

Added a few new quality of life features to make ssh-sync easier to use and more secure.

  • sync command - does upload and download in one step
  • Add master key rotation support (rotate-master-key). This can be used after post-quantum crypto migration to ensure the master key can never be broken by store now, decrypt later attacks.
  • Better known_hosts syncing - we now parse the known_hosts file and store each record, perfectly synced. No more conflicts!
  • Skip authorized_keys file in the syncing process
  • Remove legacy keypair.pub after post-quantum migration
  • Codebase improvements (refactoring, additional unit testing)

v1.3.0

28 Feb 03:43
a6092e5

Choose a tag to compare

Post Quantum Cryptography Support 🎉🎉🎉🎉

  • Leverages ML-KEM from golang std library, ML-DSA from fillipo proposal
  • Provides migration command to post quantum cryptography standards
  • Uses ML-KEM for key exchange to encrypt master key, ML-DSA for JWT signatures for authentication

This one was a lot of work and I had a lot of fun learning about post quantum cryptography standards.

➜  ~ ssh-sync migrate
This will migrate your keys from classical ECDSA/ECDH-ES to post-quantum
cryptography (ML-DSA-65 for signatures + ML-KEM-768 for key encapsulation).

What this does:
  1. Decrypt your master key using the current EC keypair
  2. Generate new post-quantum keypair (ML-DSA-65 + ML-KEM-768)
  3. Re-encrypt your master key with the post-quantum key
  4. Upload the new public key to the server

Your encrypted SSH keys on the server remain unchanged (AES-256-GCM
is already quantum-resistant). Only the key wrapping is upgraded.

Continue? (y/n): y
Decrypting master key with current EC keypair...
Authenticating with server using current EC key...
Generating post-quantum keypair (ML-DSA-65 + ML-KEM-768)...
Re-encrypting master key with ML-KEM-768...
Uploading new public key to server...

Migration complete! Your keys are now using post-quantum cryptography.
  Auth:       ML-DSA-65 (FIPS 204)
  Encryption: ML-KEM-768 (FIPS 203)

Sources:
FIPS 203
FIPS 204

Useful learning:
Post-quantum cryptography: Security after Shor’s algorithm
Lattice-based cryptography: The tricky math of dots
Learning with errors: Encrypting with unsolvable equations

v1.2.2

15 Jan 16:11
9f6eaf2

Choose a tag to compare

Add date comparison warning for key uploads (#75)

Implement safety check to prevent accidentally overwriting newer server keys with older local versions during upload. When uploading keys, the client now:

1. Fetches existing keys from the server with their timestamps
2. Compares local file modification times with server timestamps
3. Prompts the user if attempting to overwrite a newer server key
4. Allows user to proceed or skip the file

This mirrors the existing conflict detection on the download side and addresses the warning in the README about upload overwriting without checks.

Changes:
- Add UpdatedAt timestamp field to KeyDto (optional for backward compatibility)
- Add PromptOverwriteNewerKey helper function in utils/io.go
- Modify Upload action to decode server response and compare dates
- Skip files when user chooses not to overwrite newer versions

Co-authored-by: Claude <noreply@anthropic.com>

v1.2.1

08 Jul 18:07

Choose a tag to compare

Fix issue with windows installer not providing correct 'ssh-sync' executable name

v1.2.0

01 Jul 16:29
7d520a5

Choose a tag to compare

What's Changed

  • Fixed a bug that would not allow users to delete machines

Code Changes

Full Changelog: v1.2.0...v1.1.5

v1.1.5

19 Jun 06:06
ec40dc6

Choose a tag to compare

Removed alpine support :(

v1.1.4

16 Jun 00:11

Choose a tag to compare

fix winget

v1.1.3

27 May 05:35

Choose a tag to compare

no arch linux

v1.1.2

14 Apr 20:52
eb72cbc

Choose a tag to compare

Bump golang.org/x/crypto from 0.31.0 to 0.35.0 (#58)

* Bump golang.org/x/crypto from 0.31.0 to 0.35.0

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.31.0 to 0.35.0.
- [Commits](https://github.com/golang/crypto/compare/v0.31.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.35.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* tidy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul <paul@paul.systems>

v1.1.1

14 Mar 16:47

Choose a tag to compare

Small patch which updates golang's crypto version.