用Python编写Telnet服务器并嵌入IPython作为终端

2 投票
2 回答
928 浏览
提问于 2025-04-17 04:04

我正在尝试写一个简单的Telnet服务器,让连接的客户端可以使用IPython命令行。有没有人知道怎么做到这一点?

我的问题主要是关于如何把IPython命令行嵌入到Telnet服务器里(我可能可以用Twisted来处理Telnet服务器的部分)。

谢谢!

2 个回答

0

我觉得要实现IPython的全部功能,比如自动补全什么的,是不太可能的。Twisted有一个Python命令行,它和telnet配合得很好。

1

你可以考虑使用真正的telnet或SSH服务器,然后把用户的登录shell设置为IPython。比如说,如果有一个用户叫'adam',你可以把这个用户在/etc/passwd文件中的那一行改成这样:

adam:x:1000:1000:Adam Frist,,,:/home/adam:/usr/bin/ipython

通常,这一行的最后部分是一个实际的登录shell,比如bash,但其实不一定非得是这样。这样做的好处是你可以省去自己编写解决方案的麻烦,但可能会有一个缺点,就是你可能需要调整环境变量或者Python的路径才能让它正常工作。

你可以在Linux信息项目上了解更多关于/etc/passwd文件的内容。

撰写回答