From c8088f21e99fb64dcc577989a31fbb0dc70fff67 Mon Sep 17 00:00:00 2001 From: therealpaulgg Date: Fri, 22 Mar 2024 01:14:55 -0700 Subject: [PATCH 1/2] update readme with diagram --- README.md | 11 +++++++++++ docs/diagrams.svg | 4 ++++ docs/writeup.md | 11 +++++++++++ 3 files changed, 26 insertions(+) create mode 100644 docs/diagrams.svg diff --git a/README.md b/README.md index de6295f..b6feed6 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,17 @@ Also part of this project: [https://github.com/therealpaulgg/ssh-sync-server](https://github.com/therealpaulgg/ssh-sync-server) [https://github.com/therealpaulgg/ssh-sync-db](https://github.com/therealpaulgg/ssh-sync-db) +## Diagram + +This diagram depicts the following: + +1. Initial user setup with server +2. Sequence diagram illustrating a user configuring a new PC +3. Authenticated download request +4. Authenticated upload request + +![svg-of-ssh-sync-architecture](./diagrams.svg) + ## High-Level Concept You have a computer which has SSH keys and configuration on them, and on a secondary machine you would like these keys so you are able to access your servers from another machine. This often involves copy-pasting files and also rewriting an SSH configuration file because file paths change, or the operating system changes. This can be quite tedious. This program aims to replace the manual steps involved by allowing a secure method of transferring keys and keeping them all synced in a remote server. diff --git a/docs/diagrams.svg b/docs/diagrams.svg new file mode 100644 index 0000000..358175c --- /dev/null +++ b/docs/diagrams.svg @@ -0,0 +1,4 @@ + + + +
pubBob
Bob
Initial Setup
Generates pubBob, privBob,
aes master key
Bob
Sebrena
Server
setup request
challenge code
challenge code
challenge response
challenge accepted
pubSebrena
pubSebrena
enc_pubSebrena(master_key)
encrypted master key
dec_privSebrena(encrypted_master_key)
jwt_from_privSebrena
download keys pls
Sebrena
encrypted keys
Authenticated Requests (Download)
decrypt keys w/ master key
jwt_from_privSebrena
upload encrypted keys pls
Sebrena
store enc. keys in db
Authenticated Requests (Upload)
encrypt keys w/ master key
\ No newline at end of file diff --git a/docs/writeup.md b/docs/writeup.md index 32657ec..3fced59 100644 --- a/docs/writeup.md +++ b/docs/writeup.md @@ -2,6 +2,17 @@ A CLI application to sync SSH keys along with a SSH configuration between machines on-demand. +## Diagram + +This diagram depicts the following: + +1. Initial user setup with server +2. Sequence diagram illustrating a user configuring a new PC +3. Authenticated download request +4. Authenticated upload request + +![svg-of-ssh-sync-architecture](./diagrams.svg) + ## High-Level Concept You have a computer which has SSH keys and configuration on them, and on a secondary machine you would like these keys so you are able to access your servers from another machine. This often involves copy-pasting files and also rewriting an SSH configuration file because file paths change, or the operating system changes. This can be quite tedious. This program aims to replace the manual steps involved by allowing a secure method of transferring keys and keeping them all synced in a remote server. From 5c784fdf6df6dcafc6339083b4d300496277d102 Mon Sep 17 00:00:00 2001 From: therealpaulgg Date: Fri, 22 Mar 2024 01:17:19 -0700 Subject: [PATCH 2/2] fix --- README.md | 2 +- docs/writeup.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b6feed6..0d3fd28 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ This diagram depicts the following: 3. Authenticated download request 4. Authenticated upload request -![svg-of-ssh-sync-architecture](./diagrams.svg) +![svg-of-ssh-sync-architecture](https://raw.githubusercontent.com/therealpaulgg/ssh-sync/main/docs/diagrams.svg) ## High-Level Concept diff --git a/docs/writeup.md b/docs/writeup.md index 3fced59..a9d12e1 100644 --- a/docs/writeup.md +++ b/docs/writeup.md @@ -11,7 +11,7 @@ This diagram depicts the following: 3. Authenticated download request 4. Authenticated upload request -![svg-of-ssh-sync-architecture](./diagrams.svg) +![svg-of-ssh-sync-architecture](https://raw.githubusercontent.com/therealpaulgg/ssh-sync/main/docs/diagrams.svg) ## High-Level Concept