The article discusses the process of porting a word game to be served over SSH using the AsyncSSH library in Python.
Initially, the author explored using Paramiko but found AsyncSSH with its developer-friendly documentation to be more suitable for the project.
The article delves into creating an SSH server and defining the application logic using classes like MySSHServer and MyREPLSession.
The author covers implementing the connection, shell, data received, and other key methods for handling user interaction in the SSH session.
The article also details the process of creating the server, managing tasks with AsyncIO, and setting up SSH keys for the application.
Two different approaches to handling user input/output through SSHServerProcess and SSHLineEditorChannel objects are explored.
The author highlights the differences and similarities between the CLI and SSH versions of the word game.
The article concludes with the realization that hosting applications over SSH required a shift in handling I/O, showcasing the ease of development with AsyncSSH.
Overall, the journey of porting the word game to SSH was filled with discoveries and learnings facilitated by the AsyncSSH library and collaboration with Gemini.
The article aims to inspire more developers to explore hosting applications over SSH and showcases how AsyncSSH can make the development experience intuitive.