我试图在远程服务器使用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
请建议的解决方案
答
我从你的问题是/用户/ hokale是一个目录,你说的“远程出席/用户/ hokale脚本”推断。
load_host_keys
将文件名作为参数,而不是目录。如果您的主机密钥文件是例如/ user/hokale/foo/known_hosts,则需要指向该文件而不是目录。
请记住,Paramiko主机密钥文件可能会看起来不同于您的SSH已知主机文件。一个典型的错误是指向一个SSH的known_hosts文件,并期望它的工作。
并且远程服务器上存在/ user/hokale? –