我试图使用SSH在远程服务器上执行python脚本但是失败了

时间:2017-07-25 12:28:56

标签: bash

脚本如下所示

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

请建议解决方案

1 个答案:

答案 0 :(得分:0)

我从你的问题推断/ user / hokale是一个目录,就像你说的“/ user / hokale中存在一个远程脚本”。

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

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