使用paramiko和python更改目录并在远程主机中执行命令

时间:2019-10-08 17:21:51

标签: python ssh paramiko

我需要连接到远程主机,进入子目录,将一些作业发送到Torque,然后等待该作业完成。

我正在尝试使用Paramiko进行此操作,但是我在为此任务而苦苦挣扎。

使用SSH和exec_command我无法更改目录。使用SFTP,我可以更改目录,但不能发送扭矩作业。

import os
import sys
import paramiko

working_dir = "/home/user/tests"

# Conecting
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("xxxxxxx.xxxxxx.xxxx.xxxx.xxxxxx.xx", username="user", password="psw", port=22)

# Current dir
ssh.exec_command('pwd > pwd.txt')

# Command to enter in working dir
cd = "cd " + working_dir
ssh.exec_command(cd) # it does not work

# Current dir
ssh.exec_command('pwd > pwd2.txt')

ftp = ssh.open_sftp()
print (ftp.getcwd())
ftp.chdir(working_dir) # it works
print (ftp.getcwd())

...

有什么方法可以使用paramiko来做到这一点吗?还是有其他库可以做到这一点?

0 个答案:

没有答案