From 1e38b26cad4acac7cebc965dfd55e2ddc8af6cd9 Mon Sep 17 00:00:00 2001 From: Akemi Izuko Date: Sun, 25 Aug 2024 16:02:04 -0600 Subject: [PATCH] Ssh: add proxyjump solution --- ssh_daemon/proxyjump.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ssh_daemon/proxyjump.py diff --git a/ssh_daemon/proxyjump.py b/ssh_daemon/proxyjump.py new file mode 100644 index 0000000..78b9512 --- /dev/null +++ b/ssh_daemon/proxyjump.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + +def get_vm_port(username): + user_map = { + 'user0': 9000, + 'user1': 9001, + 'user2': 9002 + } + return user_map.get(username) + +def main(): + username = os.environ.get('USER') + if not username: + print("Error: Unable to determine username", file=sys.stderr) + sys.exit(1) + + port = 9002 #get_vm_port(username) + if not port: + print(f"Error: No VM associated with user {username}", file=sys.stderr) + sys.exit(1) + + # Use os.execvp to replace the current process with ssh + os.execvp('ssh', ['ssh', '-p', str(port), 'root@localhost']) + +if __name__ == "__main__": + main()