Keep all ssh connection next to you
Project description
ssh_manager
- Keep all ssh connection next to you
And don't distract on password prompts
ssh_manager:
usage: ssh_m [-h] [-n] [-R] [-C]
optional arguments:
-h, --help show this help message and exit
-n Proceed new SSH connection to storage Executed by default if storage is empty.
-R Acts same as $SSH_M_R Prevents renaming TMUX window on SSH connection.
-C Acts same as $SSH_M_C Prevents closing of TMUX after SSH is disconnected.
1. Environment
Since 0.2.0 ssh_manager works both on Windows and *NIX, thanks to InquirerPy
-
sshpass - Non-interactive ssh password authentication
-
$servernickname_user - Environment variable that stores the password
Install dependencies
Debian-based:
sudo apt install sshpass
Homebrew:
brew install sshpass
Other *NIX:
1. Download .tar.gz source code
2. Extract archive and enter directory:
tar -xf sshpass*.tar.gz && rm sshpass*.tar.gz && cd sshpass*
3. Run as following:
./configure
make
sudo make install
Or install without sudo-access setting the --prefix
Windows (experimental):
2. [Optional] Check your PATH environment variable
- [Win + R] -> SystemPropertiesAdvanced.exe
- Environment variables -> Path -> Edit
3. Drop sshpass.exe to one of present folder in Path
Verify everything is installed properly
-
sshpass -V
-
python3 -V
(Verify, that the version meets requirements)
Define named_passwd environment variable
myserver_root=$(cat ~/SuperSecretPasswordForRoot)
-----
echo $myserver_root
# Here goes the password
2. Installation
As simple as:
pip install ssh-m.py
3. Usage
- Remote selection:
- Simply run
ssh_m
> ssh_m ssh_manager v0.2.0: Select SSH user: >me@some.example.com milk@simplifymilk.local
- Simply run
- Add new remote
ssh_m -n
- Or press "n" key at
ssh_m
menu
Exampe configuration for new serverssh_manager v0.2.0: Hostname: google.com Remote user: root Environment variable suffix: mygoogle ----- > root@google.com milk@simplifymilk.local me@some.example.com
google.com
, with environment variable for it$mygoogle_root
- Addional controls
- [n] key - Create new entry in list while in menu
- [d] key - Delete hovered entry
- [q] or [Ctrl-C] or [Ctrl-D] - Close ssh_manager
Configuration
The default storage is JSON
file type, that placing in home location:
~/.ssh_manager_store
Remember, the storage contains NO any sensitive information. It just a mapping for environment variable.
Also, as mentioned before ssh_manager aims to rename TMUX active window and close pane at session disconnect. There's a few options how to configure that behavior:
Launch arguments
@ ssh_m -R
- [R]ename - will prevent ssh_manager renaming active TMUX window
- Is alternative to
$SSH_M_R
environment variable. Could be any value except empty
@ ssh_m -C
- [C]lose - will prevent ssh_manager closing pane after SSH terminated
- Is alternative to
$SSH_M_C
environment variable. Could be any value except empty
Important notes
-
Keep in mind that environment variable
$servernickname_user
is REQUIRED -
ssh_manager by default is checking whether running inside TMUX, and applies those actions to it
- Renaming current window to active ssh session
- Termination shell on ssh disconnect
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file ssh_m_py-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: ssh_m_py-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09962405cf0fe4a71dd532cccff24d9b21d8d53b6ea38f9d335f77f61d7a661d |
|
MD5 | 3f4e10d5a095fd35d005b86421952d5c |
|
BLAKE2b-256 | 4ab4ed2b5e987129c29da1de4886a8a282d3646d0b958930d578212dd67088c9 |