我将编写第一个在python上处理ssh命令的代码,我在stackoverflow上进行了搜索,可以看到有几个python库可用于处理通过ssh传递的命令,例如paramiko,pexpect或许还有其他一些人。特别是,我需要从远程服务器读取文件内容,通过ssh/scp复制文件,在远程服务器上启动脚本后从远程服务器获取输出。也许一些专家可以建议哪个库更好并指定优点或缺点? 最佳答案 由于您在协议(protocol)级别没有做任何特殊的事情,因此您可能不需要完全在python中实现该协议(protocol),您可以简单地使用subpr
我已经安装并编写了以下无法放置文件的Paramiko。它很容易“获取”一个文件并对其执行ls命令。#setusername&passwordusername='runaway'password='runaway'port=22source='/Unzip.sh'destination='/var/mpx/www/http'#SFTPclient.load_system_host_keys()print"hostname=%s\nusername=%s\npassword=%s\n"(hostname,username,password)t=paramiko.Transport((hos
我已经安装并编写了以下无法放置文件的Paramiko。它很容易“获取”一个文件并对其执行ls命令。#setusername&passwordusername='runaway'password='runaway'port=22source='/Unzip.sh'destination='/var/mpx/www/http'#SFTPclient.load_system_host_keys()print"hostname=%s\nusername=%s\npassword=%s\n"(hostname,username,password)t=paramiko.Transport((hos
我正在尝试使用来自Python的SSH从服务器读取文件。我正在使用Paramiko进行连接。我可以连接到服务器并运行类似catfilename之类的命令并从服务器取回数据,但我尝试读取的某些文件大小约为1GB或更大。如何使用Python逐行读取服务器上的文件?附加信息:经常做的是运行catfilename命令并将结果存储在变量中并处理它。但是由于这里的文件很大,我正在寻找一种方法来逐行读取服务器上的文件。编辑:我可以读取一堆数据并将其分成几行,但问题是缓冲区中接收到的数据并不总是包含完整的行。例如,如果缓冲区有300行,则最后一行可能只是服务器上行的一半,而下一半将在下一次调用服务器时
我正在尝试使用来自Python的SSH从服务器读取文件。我正在使用Paramiko进行连接。我可以连接到服务器并运行类似catfilename之类的命令并从服务器取回数据,但我尝试读取的某些文件大小约为1GB或更大。如何使用Python逐行读取服务器上的文件?附加信息:经常做的是运行catfilename命令并将结果存储在变量中并处理它。但是由于这里的文件很大,我正在寻找一种方法来逐行读取服务器上的文件。编辑:我可以读取一堆数据并将其分成几行,但问题是缓冲区中接收到的数据并不总是包含完整的行。例如,如果缓冲区有300行,则最后一行可能只是服务器上行的一半,而下一半将在下一次调用服务器时
我正在尝试通过paramiko运行交互式命令。cmd执行尝试提示输入密码,但我不知道如何通过paramiko的exec_command提供密码并且执行挂起。如果cmd执行需要交互输入,有没有办法向终端发送值?ssh=paramiko.SSHClient()ssh.connect(server,username=username,password=password)ssh_stdin,ssh_stdout,ssh_stderr=ssh.exec_command("psql-Ufactory-dfactory-f/tmp/data.sql")有谁知道如何解决这个问题?谢谢。
我正在尝试通过paramiko运行交互式命令。cmd执行尝试提示输入密码,但我不知道如何通过paramiko的exec_command提供密码并且执行挂起。如果cmd执行需要交互输入,有没有办法向终端发送值?ssh=paramiko.SSHClient()ssh.connect(server,username=username,password=password)ssh_stdin,ssh_stdout,ssh_stderr=ssh.exec_command("psql-Ufactory-dfactory-f/tmp/data.sql")有谁知道如何解决这个问题?谢谢。
DrushcommandsnotexecutingusingParamiko我发布了关于我使用Paramiko收到的持续错误消息的上述问题。我认为这与我的下一个问题无关,但可能是。我可以使用Paramiko通过SSH成功连接到我的服务器。我可以执行ls或pwd之类的命令。我似乎不能做的是更改目录。例如,我可以发送命令“cd..”,但是当我跟进“pwd”时,它表明我没有更改目录。它只是列出了我登录时所在的初始目录。>>>stdin,stdout,stderr=myssh.exec_command("pwd")>>>stdout.readlines()['/big/dom/home/myi
DrushcommandsnotexecutingusingParamiko我发布了关于我使用Paramiko收到的持续错误消息的上述问题。我认为这与我的下一个问题无关,但可能是。我可以使用Paramiko通过SSH成功连接到我的服务器。我可以执行ls或pwd之类的命令。我似乎不能做的是更改目录。例如,我可以发送命令“cd..”,但是当我跟进“pwd”时,它表明我没有更改目录。它只是列出了我登录时所在的初始目录。>>>stdin,stdout,stderr=myssh.exec_command("pwd")>>>stdout.readlines()['/big/dom/home/myi
defexec_command(self,command,bufsize=-1):#print"ExecutingCommand:"+commandchan=self._transport.open_session()chan.exec_command(command)stdin=chan.makefile('wb',bufsize)stdout=chan.makefile('rb',bufsize)stderr=chan.makefile_stderr('rb',bufsize)returnstdin,stdout,stderr在paramiko中执行命令时,它总是会在您运行exec