python ssh 远程执行_如何使用ssh在python中远程执行脚本?

下面的代码将执行您想要的操作,您可以将其调整为执行函数:

from paramiko import SSHClient

host="hostname"

user="username"

client = SSHClient()

client.load_system_host_keys()

client.connect(host, username=user)

stdin, stdout, stderr = client.exec_command('./install.sh')

print "stderr: ", stderr.readlines()

print "pwd: ", stdout.readlines()

但请注意,命令将默认为$HOME目录,因此您需要在$PATH中安装install.sh,或者(很可能)您需要cd到包含install.sh脚本的目录.

您可以使用以下方法检查默认路径:

stdin, stdout, stderr = client.exec_command('getconf PATH')

print "PATH: ", stdout.readlines()

但是,如果它不在您的路径中,您可以cd并执行如下脚本:

stdin, stdout, stderr = client.exec_command('(cd /path/to/files; ./install.sh)')

print "stderr: ", stderr.readlines()

print "pwd: ", stdout.readlines()

如果脚本不在$PATH中,则需要使用./install.sh而不是install.sh,就像使用命令行一样.

如果在上面的所有内容之后仍然遇到问题,那么检查install.sh文件的权限也是一件好事:

stdin, stdout, stderr = client.exec_command('ls -la install.sh')

print "permissions: ", stdout.readlines()

你可能感兴趣的:(python,ssh,远程执行)