Skip to content

Session Migration #165

@b-angus

Description

@b-angus

Without knowing enough about how all the pieces fit together, I sent Lonny Wong a note asking about the possibility for tssh and tsshd to support session migration between devices, rather than just session resiliency on a single device.

Lonny mentioned that a number of the pieces are already in place inside of tsshd, but, for the Apple ecosystem, it might be better to ask here in the "rootshell" app area. Lonny also said that there would likely be some security issues to address in order to make this type of functionality as safe as possible.

I don't have enough technical experience to be much other than a nuisance, so I'm just following Lonny's suggestion and posting my original question about the idea below.

I'm quite curious about your thoughts.

Cheers,
Brian

I've been following your projects (and also the new "rootshell" app) for a while.  I have what is likely a somewhat dopey question, but I'll ask anyway...    :)

Your tssh and tsshd projects seem to be solving some really long running nuisance problems with terminal connectivity, namely poor connections, dropped connections, and roaming IP addresses.

I'm curious if in addition to solving the roaming "device" type of issues, if it also solves the roaming "person" problem.  For many people tmux has historically been the best solution for these types of problems, with the primary benefit being to guard against session drops.  But, another huge tmux feature is to provide for session migration to alternate devices such as from an office pc to a home computer, iPhone or iPad.

My initial read is that tssh sessions can be continued on the same device where the current and initial session keys are already stored, but that these sessions aren't migratable to alternate devices since there are no available keys on any new client device?  My understanding may well be wrong; however, do you think this is a feature that might interest you?

In my mind, to implement something like this, session list, attach and detach functions would be needed that could be executed when logging in on a new device using a new OpenSSH connection where an existing session could then be selected, re-keyed, and transitioned back to the desired underlying protocol (KCP / QUIC)?

I don't know if there would be any security issues with an approach like this or if this is too far outside of what you are doing.  However, not requiring tmux, zellij or screen for session control seems like a useful benefit.  Those tools could still be used for those who like their other features, but session control might be able to be handled more universally?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions