【发布时间】:2017-04-17 17:36:45
【问题描述】:
我正在尝试使用 pxssh 通过 SSH 连接到远程设备,但是其中一个设备是 SSH 端口 2222,一个是 22。我知道我可以将 pxssh.py 中的硬编码值更改为 22 或 2222,但我不知道我怎么能同时做到这两点。
我查看了 pxssh login() 函数并尝试在密码后面加上“端口”,所以在调用 pxssh 时我可以指定所需的端口,例如
pxssh.py 文件
def login (self, server, username, password='', port, terminal_type='ansi',original
_prompt=r"[#$]", login_timeout=10,
auto_prompt_reset=True, ssh_key=None, quiet=True,
sync_multiplier=1, check_local_ip=True):
从我的文件调用 pxssh 登录
s.login(server, username, password, port)
但是那个错误
SyntaxError: non-default argument follows default argument
然后我想我可以复制 pxssh 并拥有 pxssh22.py 和 pxssh2222.py
if something:
from pexpect import pxssh22
else:
from pexpect import pxssh2222
每个都指定一个不同的硬编码端口号,但是在调用时总是出错:
try:
s = pxssh2222.pxssh()
s.login(server, username, password)
except pxssh2222.ExceptionPxssh as e:
NameError: global name 'pxssh2222' is not defined
如何使用 pxssh 访问端口 2222 和 22。谢谢
【问题讨论】: