运行 结构文件已重命名 fabfile.py 和无密码 ssh

run fabric file renamed other than fabfile.py and password-less ssh

我有一个工作代码,现在由于一些问题我无法 运行。

我面临以下问题:

  1. 系统提示我输入密码,因为我 运行 使用 python /path/to/file.py

  2. 的文件
  3. 即使我使用 fab -l,也会调用此文件并再次提示我输入密码。

只是想让你知道,我的目录中有很多 .py(包括 fabfile.py)文件正在使用 fabric 和其他库。

这是我的代码片段:

from fabric.api import *

env.key_filename = /path/to/my/pem/file

def mem_usage():
   '''Check free mem'''
   run('free -m')

execute(mem_usage, host="user@IP_or_hostname")

请帮助我理解:

  1. 如何在不通过命令行参数传递路径的情况下使用 pem 文件进行 ssh

  2. 如何运行代码(文件名为foo.py)

任何指点将不胜感激。

所以,我找到了问题的解决方案。

  1. 不检查我的 pem 文件是一件愚蠢的事情,它是用密码保护的。

  2. python 文件可以任意命名,只要它有一个执行方法 - 它就像一个普通的 python 程序一样执行。比方说foo.py,那么它将使用python foo.py

  3. 执行