我试图在远程服务器使用SSH执行python脚本,但未能

问题描述:

脚本类似于下面我试图在远程服务器使用SSH执行python脚本,但未能

client = paramiko.SSHClient() 
client.load_host_keys('/user/hokale')   
client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
my_key = paramiko.RSAKey.from_private_key_file('/user/hokale') 
client.connect(hostname=host, username=user, password=password,pkey=my_key) 

目前@ locaton /user/hokale远程脚本。在load_host_keys API或paramiko.RSAKey.from_private_key_file失败说

in load 
    with open(filename, 'r') as f: 
FileNotFoundError: [Errno 2] No such file or directory:/user/hokale 

请建议的解决方案

+0

并且远程服务器上存在/ user/hokale? –

我从你的问题是/用户/ hokale是一个目录,你说的“远程出席/用户/ hokale脚本”推断。

load_host_keys将文件名作为参数,而不是目录。如果您的主机密钥文件是例如/ user/hokale/foo/known_hosts,则需要指向该文件而不是目录。

请记住,Paramiko主机密钥文件可能会看起来不同于您的SSH已知主机文件。一个典型的错误是指向一个SSH的known_hosts文件,并期望它的工作。