我正在尝试使用Paramiko将SSH SSH到Brocade交换机中并执行远程命令。代码如下所示:
def ssh_connector(ip, userName, passWord, command):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, username=userName, password=passWord, port=22)
stdin, stdout, stderr = ssh.exec_command(command)
print stdout.readlines()
ssh_connector(ip, userName, passWord, 'show running-config')
尝试运行代码时,遇到一个奇怪的错误,如下所示。
协议错误,不是以scp开头!
我不知道错误的原因或SSH连接是否成功。你能帮我这个忙吗?
如果SSHClient.exec_command
不工作时,首先认为测试是尝试(上
一个 行):
ssh user@host command
它将使用与相同的SSH API(“
exec”通道)SSHClient.exec_command
。如果您使用的是Windows,则可以使用plink
(从PuTTY软件包中)代替ssh
。如果ssh
/也plink
失败,则表明您的设备不支持SSH“
exec”通道。
对于您的情况,看来Brocade SSH服务器上的“ exec”通道已实现为scp
仅支持该命令。
正如您声称能够“ SSH”到交换机一样,似乎“ shell”通道已完全正常工作。
虽然通常不建议使用“
shell”通道进行命令自动化,但是对于服务器,您将没有其他选择。使用,SSHClient.invoke_shell
然后使用将命令写入通道(=写入外壳)Channel.send
。
channel = ssh.invoke_shell()
channel.send('ls\n')
channel.send('exit\n')
我试图在一个网站上使用gettext,为此我遵循O'Reilly媒体教程。在第一页的末尾,它说我需要使用命令,但是我的命令行返回以下内容:我在XAMPP上运行我的网站,所以我的整个目录是这样的: 我有考试。php在gettext文件夹中,以及消息。采购订单位于文件夹中。即使我尝试使用poedit,它也不起作用。这是我的测验。php代码: 我不确定bindtextdomain函数中的字符串是否正确。
我正在构建一个基于阿尔卑斯山的docker图像。 当我以shell形式运行时,它工作正常,但当我以exec形式运行时,它会给出 /箱子/箱:[sh,:未找到 我试着使用bin/sh、sh、bin/ash、ash。所有这些都有相同的错误。
问题内容: 我正在编写一个脚本来自动化Python中的某些命令行命令。目前,我正在打电话: 但是我需要在远程计算机上运行一些命令。手动地,我将使用ssh登录,然后运行命令。我将如何在Python中自动执行此操作?我需要使用(已知)密码登录到远程计算机,所以我不能只使用,我想知道是否应该使用一个模块? 问题答案:
我只是在Windows中安装jdk和jre版本8。环境变量已设置。我尝试在cmd中运行“java-version”,它显示了安装的java版本。但是当我尝试用“javac projectname”编译java项目时,系统说javac不能被识别为内部命令或外部命令。有谁能告诉我怎么修好它吗? 下面是我的环境变量: C:\users\foody>echo%路径%C:\ProgramData\Oracl
我想在Android设备上运行一些需要根权限的命令。这些命令应该使用java代码执行,因此应用程序本身应该能够运行这些命令,而不需要将设备连接到个人电脑并使用shell运行这些命令。 我使用了,然后使用了我想要运行的命令(chmod 666)。chmod666需要一个根设备才能正常运行,因此我尝试先使用获得超级用户权限,然后尝试运行它。我将java代码放在onCreate方法中。这是我的密码: 但
今天我发现我不能运行我的应用程序从Android studio到我的设备,以下是日志。 看起来包被复制到了设备中,但是当执行shell命令时,它就是识别不出这个命令? 我也试过其他类似的东西,也不起作用。 并且我尝试了,我可以看到发送的文件,但没有显示任何成功或失败的结果。 安装app的唯一方法是手动方式,将apk复制到设备中,打开apk文件。