虽然这个问题不是很新,而且已经选择了答案,但我想分享另一个不错的方法。
使用paramiko库(SSH2的纯python实现),python脚本可以通过SSH连接到远程主机,复制自身(!)到该主机,然后在远程主机上执行该副本。远程进程的Stdin、stdout和stderr将在本地运行脚本中可用。所以这个解决方案与IDE几乎是独立的。
在本地计算机上,我使用命令行参数'deploy'运行脚本,该参数触发远程执行。如果没有这样的参数,将运行用于远程主机的实际代码。import sys
import os
def main():
print os.name
if __name__ == '__main__':
try:
if sys.argv[1] == 'deploy':
import paramiko
# Connect to remote host
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('remote_hostname_or_IP', username='john', password='secret')
# Setup sftp connection and transmit this script
sftp = client.open_sftp()
sftp.put(__file__, '/tmp/myscript.py')