Remote Shell

22 views
Skip to first unread message

Tamás Hornos

unread,
Jan 31, 2023, 5:05:43 PM1/31/23
to asyncssh-users
Dear All,
I would like to provide a shell like CLI for logged in clients (regular ssh command). Implementing the server with the process_factory callable and with the following code inside the callable

prompt = Shell(process = process ... )
prompt.use_rawinput = False
await prompt.cmdloop()

where Shell is a Cmd based class with a modified cmdloop to handle async readline. Stdin and stdout is redirected by

class Shell(Cmd):
    def __init__(self, process):
        self.__process = process
        super().__init__(stdin=process.stdin, stdout=process.stdout)

For some reason TAB completition does not work. After pressing TAB on the client ssh client debug shows:

debug3: receive packet: type 2

debug3: Received SSH2_MSG_IGNORE

Do you have any idea how I should implement an interactive shell for logged in clients with TAB completition support?

Thanks!
--
Tamas
Reply all
Reply to author
Forward
0 new messages