← back to ratmist environment

Encrypted password manager for ssh

TOOL · SSH · SECURITY · 2025

███████╗███████╗██╗  ██╗██╗   ██╗ █████╗ ██╗   ██╗██╗  ████████╗
██╔════╝██╔════╝██║  ██║██║   ██║██╔══██╗██║   ██║██║  ╚══██╔══╝
███████╗███████╗███████║██║   ██║███████║██║   ██║██║     ██║ 
╚════██║╚════██║██╔══██║██║   ██║██╔══██║██║   ██║██║     ██║
███████║███████║██║  ██║╚██████╔╝██║  ██║╚██████╔╝███████╗██║
╚══════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚═╝

SSH Vault v0.1.0
Author : ratmist
GitHub : https://github.com/ratmist
      

SSHVAULT — консольная утилита для безопасного хранения и управления SSH-доступами с локальным шифрованием и интерактивным shell-режимом.

Проект задуман как минималистичный security-tool без серверной части, облачной синхронизации и хранения секретов вне машины пользователя.

Features

Technical details

SSHVAULT реализован как полностью локальная CLI-утилита с акцентом на client-side security и минимальное количество доверенных компонентов.

Для защиты данных используется связка современных криптографических примитивов и проверенных Python-библиотек:

Vault architecture

Архитектура vault построена по принципу zero-knowledge: master password никогда не сохраняется и не может быть восстановлен.

При инициализации создаётся salt, на основе которого с помощью Argon2id вычисляется ключ шифрования. Все данные vault шифруются этим ключом и сохраняются в бинарном виде.

При каждом запуске утилиты пользователь вводит master password, который используется исключительно для временной расшифровки данных в памяти. После завершения процесса ключ и расшифрованные данные не сохраняются.

Design decisions

Limitations

SSHVAULT не предназначен для замены полноценных enterprise password managers. Проект ориентирован на локальное использование, персональные серверы и лабораторные окружения.

Usage

$ sshvault init
$ sshvault add
$ sshvault list
$ sshvault connect prod
$ sshvault shell
      

Links