https://github.com/scriptedbutton/velo
https://github.com/scriptedbutton/velo
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/scriptedbutton/velo
- Owner: ScriptedButton
- License: mit
- Created: 2024-10-16T16:26:32.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-28T14:03:04.000Z (over 1 year ago)
- Last Synced: 2025-04-03T13:42:48.485Z (about 1 year ago)
- Language: Rust
- Size: 106 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Velo CLI
Velo is a command-line interface (CLI) tool designed to simplify and streamline SSH connections and (planned) tmux session management. It allows users to store and manage connection details securely, making it easier to connect to remote servers without remembering complex connection strings.
## Features
- Securely store and manage SSH connection details
- Encrypt configuration file for added security
- Easy-to-use commands for adding, removing, and listing connections
- Seamless SSH connections using stored details
- Optional password storage for connections
- Compatible with systems with or without `sshpass`
## Installation
### Prerequisites
- Rust programming language (https://www.rust-lang.org/tools/install)
- OpenSSL development libraries
### Building from source
1. Clone the repository:
```
git clone https://github.com/ScriptedButton/velo.git
cd velo
```
2. Build the project:
```
cargo build --release
```
3. The binary will be available at `target/release/velo`
4. (Optional) Move the binary to a directory in your PATH:
```
sudo mv target/release/velo /usr/local/bin/
```
## Usage
### Adding a new connection
```
velo add
```
Example:
```
velo add myserver 192.168.1.100 admin 22
```
You will be prompted if you want to store the SSH password and for the configuration encryption password.
### Listing stored connections
```
velo list
```
### Removing a connection
```
velo remove
```
or
```
velo rm
```
### Connecting to a stored server
```
velo ssh
```
Example:
```
velo ssh myserver
```
## Security
- All connection details are stored in an encrypted configuration file.
- The configuration file is encrypted using AES-256-GCM.
- SSH passwords, if stored, are kept in the encrypted configuration file.
- Users are always prompted for the configuration encryption password when accessing or modifying the configuration.
## Planned Features
- TMux session management
- Support for SSH key authentication
- Custom SSH options
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Disclaimer
This tool stores sensitive information. While we make every effort to ensure the security of your data, please use it at your own risk and always follow best practices for SSH security.