Python:将Telnet应用程序转换为SSH

0 投票
3 回答
1347 浏览
提问于 2025-04-17 06:05

我写了一个Python的Telnet客户端,用来通过Telnet和服务器沟通。但是,很多人告诉我这样做不安全。我该怎么把它改成SSH呢?我需要完全重写我的程序吗?

3 个回答

1

在你的Python应用程序中,可以使用这些库来与服务器上的SSHD守护进程进行通信:

http://wiki.python.org/moin/SecureShell

你还需要查看一些可以帮助你安全设置SSHD的资料,比如这个:

http://www.linuxjournal.com/article/8759

另外,你还需要定期更新SSHD守护进程,并使用密钥和强密码,最好是定期更换密码。这些都是telnet应用程序的标准做法,但由于telnet没有传输层加密,实际上你不应该用telnet做任何事情。

1

虽然Telnet不太安全,但它其实就是在网络上模拟一个串口控制台,这样编程起来就简单多了。而SSH就复杂得多了。它涉及到加密、身份验证、协商等很多内容。而且,搞错了的话,后果可能会很严重。

Telnet本身并没有问题,但如果你可以通过网络进行更改,而这个网络又不是私有的,那就很容易出问题。

假设这个服务是在一台电脑上运行,为什么不把服务器限制在本地呢?这样你就可以通过SSH登录到这台电脑,然后再用Telnet连接到本地。这样既能保证安全,又不会太麻烦。

1

只需要通过SSH创建一个TCP隧道,然后把所有数据都通过这个隧道传输就可以了,没必要重新发明轮子。你可以在SSH的文档中找到关于TCP隧道的例子(比如可以用man ssh命令查看)。

不过如果你真的想自己写的话,可以看看paramiko这个项目。

撰写回答