- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个命令,例如
ssh -S myAuthServer hostname
正在尝试创建代码片段,但我不确定如何实现 -S
部分我现在拥有的代码:
#!/usr/bin/python
import paramiko
from paramiko import SSHClient, SSHConfig, SSHException
paramiko.util.log_to_file("/tmp/script.log")
def getSSHConnection():
config = SSHConfig()
host='server1'
# setup SSH client
client = SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#Check for proxy settings
proxy = paramiko.ProxyCommand('ssh -S myAuthServer root@%s' % host)
print "proxy:", proxy
#Setup the SSH connection
try:
if (proxy is None):
client.connect(host, port=22, username='root')
else:
print "-> Using paramiko with proxy"
client.connect(host, port=22, username='root', sock=proxy)
except SSHException, ex:
print ex
if client:
stdin, stdout, stderr = client.exec_command('hostname')
tables=stdout.readlines()
print "stdin:", stdin
print "stdout:", stdout
print "stderr:", stderr
print "tables:", tables
return client
getSSHConnection()
我收到的错误是
INF [20181011-11:14:55.131] thr=1 paramiko.hostkeys: Unable to handle key of type 1024
DEB [20181011-11:14:55.161] thr=2 paramiko.transport: starting thread (client mode): 0x4f35fd0L
DEB [20181011-11:14:55.161] thr=2 paramiko.transport: Local version/idstring: SSH-2.0-paramiko_2.2.1
ERR [20181011-11:15:10.242] thr=2 paramiko.transport: Exception: Error reading SSH protocol banner
ERR [20181011-11:15:10.245] thr=2 paramiko.transport: Traceback (most recent call last):
ERR [20181011-11:15:10.246] thr=2 paramiko.transport: File "/Users/root/Library/Python/2.7/lib/python/site-packages/paramiko/transport.py", line 1805, in run
ERR [20181011-11:15:10.246] thr=2 paramiko.transport: self._check_banner()
ERR [20181011-11:15:10.246] thr=2 paramiko.transport: File "/Users/root/Library/Python/2.7/lib/python/site-packages/paramiko/transport.py", line 1957, in _check_banner
ERR [20181011-11:15:10.246] thr=2 paramiko.transport: 'Error reading SSH protocol banner' + str(e)
ERR [20181011-11:15:10.246] thr=2 paramiko.transport: SSHException: Error reading SSH protocol banner
ERR [20181011-11:15:10.246] thr=2 paramiko.transport:
最佳答案
您无法让 Paramiko 使用 oursshbinary
作为 SSH 实现。您甚至无法让它使用 ssh
。
Paramiko 就是 ssh
本身。
它是相同的(正如您现在所知),就好像您希望 ssh
使用 oursshbinary
(这没有任何意义)。您必须让 Paramiko 执行 oursshbinary
的操作。但与 ssh
相比,我们不知道 oursshbinary
做了什么。
对您问题的先前版本的回复:
OpenSSH ssh
客户端的 -S
开关创建一个连接共享,可供 ssh
的其他实例或其他 OpenSSH 工具重用(就像sftp
)。
Paramiko 不支持连接共享。实际上这样做没有任何意义。
连接共享对于工具/应用程序很有意义。工具的一个实例创建一个连接,相同或不同工具的其他实例可以重用该连接。
但是在脚本/编程时不需要它。您有 SSH session 实例。您可以在整个脚本/程序中将其用于多种目的。换句话说,您可以共享您的实例。
具体来说,通过 SSH,OpenSSH 连接共享为共享客户端打开单独的 SSH channel 。使用 Paramiko,您还可以通过同一个 SSH 连接打开多个独立的 channel 。这就是 Transport.open_sftp_client
(或 SSHClient.open_sftp
)、Transport.open_session
(SSHClient.invoke_shell
)等方法的用途, SSHClient.exec_command
) 执行。它们都在内部调用 Transport.open_channel
。对于单个 SSH session ,您可以根据需要多次调用所有这些。
关于python - 如何在 Paramiko 中模拟我们自己的 ssh 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755375/
我不是 C 程序员。有什么想法吗? 这是我尝试过的安装命令: pip install paramiko sudo pip install paramiko 输出: src/_fastmath.c:15
Importing paramiko throws following exception on Python3. Traceback (most recent call last): File
我正在编写一个 Python 脚本,需要下载远程 xml 文件来解析它。 我正在使用 paramiko。 这是脚本: def copyFile(ip, user, pwd, remotePath, l
好的,所以我正在尝试在我的 python 脚本中实现 paramiko。 目的是连接同一局域网内的另一台PC,通过python执行命令。 我的 python 版本: Python 2.7.6 (def
我正在调试一些代码,这将导致我不断地登录/退出一些外部 sftp 服务器。有谁知道如果代码中出现非 paramiko 异常,paramiko 是否会自动关闭外部服务器上的 ssh/sftp sessi
我不断收到以下错误: Traceback (most recent call last): File "/home/d/workspace/paramiko/connect_test/main.p
我正在尝试通过 SSH 从 Python 远程执行命令,在这种特殊情况下需要将 stdin 重定向到/dev/null。 也就是说,与使用带有 -n 标志的 OpenSSH 客户端相同: ssh -n
当我尝试打开 mysql 工作台时,它显示“导入错误:没有名为 paramiko 的模块;操作失败:无法启动 SSH 隧道管理器”,尽管我已经安装了 paramiko。我正在使用 python 2.7
我正在尝试使用 paramiko 通过 netcat 反弹 SSH session : MyLocalMachine ----||----> MiddleMachine --(netcat)-->
我目前正在开发一个程序,该程序尝试联系运行 Cisco IOS 的众多路由器以获取其当前配置。我正在尝试使用 Paramiko 模块的 SSHClient 来实现这一点目的: def get_conf
我有基于 paramiko 模块的 python 2.7 代码,我想将其移植到 python 3.3,但我似乎找不到可以工作的 paramiko 版本或合适的替代版本。 我需要该模块在 Windows
我正在尝试运行使用 SSHLibrary 的机器人框架测试用例。我已经安装了所有必需的库(在本例中为 paramiko)。但我仍然收到此错误。 我得到的错误是: Error in file '/opt
有什么方法可以在后台运行 mysql 命令或保持连接事件一段时间,以便可以对其执行查询。可以用nohup来实现吗?如果是,怎么办? 最佳答案 是的,你可以用ajax来做到这一点 使用Nohup你可以做
我正在尝试在 python 中使用 paramiko 执行一个简单的代理命令。 基本上我正在尝试复制此 ssh 命令的行为: ssh -i ~/.ssh/destination_key user@de
This question already has answers here: Pass input/variables to command/script over SSH using Python
Paramiko 支持基于证书的身份验证吗? connect 方法中的 key_filename 提到它同时支持私钥和证书,这里的证书是指基于证书的身份验证吗? key_filename (str)
我刚刚尝试与 paramiko 进行 ssh 连接。一切看起来都很好,但在最后一步,当调用 close() 方法断开客户端连接时。 这是我的脚本: #!/usr/bin/python import p
上下文 如果有一个连接到服务器的脚本,然后 curl 本地主机以获取我需要的信息 问题 我的问题是,我需要从大约 200 台服务器获取信息,我使用的方法大约需要 15 分钟才能完成,这还不错,但我想做
我在尝试关闭 Paramiko SFTP 连接时遇到问题。即使我调用关闭连接仍然挂起,我通过运行 netstat (Windows) 检查: netstat -an | find ":22" 和pyt
localpath = 'U:\\' utime = sftp.stat("/TestBTEC/").st_mtime last_modified = datetime.fromtimestamp(u
我是一名优秀的程序员,十分优秀!