【发布时间】:2020-06-23 13:40:15
【问题描述】:
我正在使用 tkinter 构建桌面应用程序。此外,使用 Paramiko 进行 ssh 连接。该应用程序有一个“连接”按钮调用该函数
def checkAuth():
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, 22, username=userName, password=password)
这是 tkinter 应用程序中对函数的调用。
"Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\****\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:/Users/****/PycharmProjects/tracer/tracer.py", line 18, in checkAuth
ssh.connect(host, 22, username=userName, password=password)
File "C:\Users\****\PycharmProjects\tracer\venv\lib\site-packages\paramiko\client.py", line 368, in connect
raise NoValidConnectionsError(errors)
paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 172.16.127.6 or fe80::d99d:ff15:3fc1:482e
connectButton = Button(connect, text="Connect", width=6, command=checkAuth)
但是得到“paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 172.16.127.6”作为输出。”
我可以将这个函数作为一个备用脚本运行,并且它连接良好。我可以通过 cmd 和 putty SSH 到主机没有问题。似乎只有在 tkinter 应用程序中使用该功能时才会遇到这种情况。
非常感谢所有帮助。
【问题讨论】:
-
主机 ip 看起来不对,是错字吗?
-
IP地址错误。 IP 地址由四个部分组成,而不是三个部分。
-
我很抱歉。这是一个错字!我已经编辑了原始帖子。 “.6”不见了。
-
在您的 tkinter 应用程序中调用它的位置是什么?你能把它的代码贴出来吗?
-
谢谢@noobius。我已重新编辑,包括调用此函数的按钮命令。
标签: python tkinter ssh pycharm paramiko