diff options
Diffstat (limited to 'tools/tryselect/util/ssh.py')
-rw-r--r-- | tools/tryselect/util/ssh.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/tryselect/util/ssh.py b/tools/tryselect/util/ssh.py new file mode 100644 index 0000000000..7682306bc7 --- /dev/null +++ b/tools/tryselect/util/ssh.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +import subprocess + + +def get_ssh_user(host="hg.mozilla.org"): + ssh_config = subprocess.run( + ["ssh", "-G", host], + text=True, + check=True, + capture_output=True, + ).stdout + + lines = [l.strip() for l in ssh_config.splitlines()] + for line in lines: + if not line: + continue + key, value = line.split(" ", 1) + if key.lower() == "user": + return value + + raise Exception(f"Could not detect ssh user for '{host}'!") |