原文地址
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.(說明腳本運行中出錯,檢查一下命令行輸入的錯誤信息,修復問題後重新運行腳本即可)