diff --git a/shell-integration/ssh/bootstrap.py b/shell-integration/ssh/bootstrap.py index 4cc4afef2..9c73f2e54 100644 --- a/shell-integration/ssh/bootstrap.py +++ b/shell-integration/ssh/bootstrap.py @@ -20,7 +20,12 @@ echo_on = int('ECHO_ON') data_dir = shell_integration_dir = '' request_data = int('REQUEST_DATA') leading_data = b'' -login_shell = pwd.getpwuid(os.geteuid()).pw_shell or os.environ.get('SHELL') or 'sh' +try: + login_shell = pwd.getpwuid(os.geteuid()).pw_shell or os.environ.get('SHELL') or '/bin/sh' +except KeyError: + login_shell = os.environ.get('SHELL') or '/bin/sh' + with suppress(Exception): + print('Failed to read login shell via getpwuid() for current user, falling back to', login_shell, file=sys.stderr) export_home_cmd = b'EXPORT_HOME_CMD' if export_home_cmd: HOME = base64.standard_b64decode(export_home_cmd).decode('utf-8')