原文地址
python3 fabric3 模块实现密钥登录
去网上搜索,发现一堆文章,比如官网 execution 说明文档,官网 SSH 使用说明文档,还有官网 password-management 使用说明文档。
而我想要的就是知道如何使用密钥链接到远程的主机。简单点,看下面就好。
配置一个 fabfile.py 文件。
from fabric.api import *
# 填写你自己的主机对应的IP地址或域名
env.hosts = ['192.168.181.200']
# 一般情况下为 22 端口,如果非 22 端口请查看你的主机服务提供商提供的信息
env.port = '22'
env.user = 'you host username' # 指定用户名
env.key_filename = '/path/to/id_rsa' # 指定你的私钥文件(也可以直接使用密码)
env.password = 'you host password' # 指定用户密码(也可以使用私钥文件)
def touchfile(): # 随便创建一个任务,用来测试
run('touch /tmp/www.txt')
进入 fabfile.py 文件所在的目录,在 Python3 的环境下,在命令行执行命令 (touchfile是你在fabfile.py 文件里创建的方法名)
fab touchfile
输出结果:
[192.168.181.200] Executing task 'lspath'
[192.168.181.200] run: touch /tmp/www.txt
Done. Disconnecting from 192.168.181.200... done.(说明脚本运行成功)
Aborting. Disconnecting from zmrenwu.com... done.(说明脚本运行中出错,检查一下命令行输入的错误信息,修复问题后重新运行脚本即可)