我正在使用pexpect SSH到设备。下面是代码:
session = pxssh.pxssh()
if not session.login(ip, "username", "password"):
print("SSH session failed on login")
print(str(session))
return False
else:
print("SSH session login successfull")
return True
我在其他具有以下提示的设备上进行了本地测试:
username@Machine54:~/
然后我在具有
的服务器上进行了尝试username@server:/#
但是会引发错误:
Error could not synchronize with original prompt
如何修改将ssh插入服务器的代码。
答案 0 :(得分:0)
pxssh.login
有一个可选参数original_prompt
,根据您的版本,该参数可能是模式[#$]
,即哈希或美元。这在文档中被描述为“非常乐观且容易上当”。您应该尝试设置一个更接近您期望的提示的示例,例如:
if not session.login(ip, "username", "password",
original_prompt=r'@[^:]+:.*?/#?'):