2017-10-19 70 views
0

我正在尋找相當於python的eval $(ssh-agent),它將啓動ssh-agent並在腳本完成運行後繼續運行。如何用python啓動ssh-agent?

我沒有發現任何有用的谷歌。

+0

應該將ssh-agent作爲系統服務而不是通過python運行嗎? – Freiheit

+0

我對python直接回答不夠熟悉。你在其他語言中想要的東西將被稱爲「分離過程」。在Python中搜索,看看結果如何 – Freiheit

+0

目標是自動化測試自動化的新機器上的ssh-agent的啓動。 –

回答

0

我試圖使用https://pypi.python.org/pypi/ssh-agent-setup/0.2.0,但它不適合我。看看https://github.com/haarcuba/ssh-agent-setup上的代碼,我發現這很容易修復。我做了叉子,並做了一個拉請求https://github.com/haarcuba/ssh-agent-setup/pull/2

對於那些有興趣使用ssh-agent-setup python模塊的人,你可以按照指令https://github.com/haarcuba/ssh-agent-setup#ssh-agent-setup

如果你得到:

ssh_agent_setup.setup() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.6/site-packages/ssh_agent_setup/__init__.py", line 34, in setup _setupAgent() File "/usr/local/lib/python3.6/site-packages/ssh_agent_setup/__init__.py", line 18, in _setupAgent raise Exception('Could not parse ssh-agent output. It was: {}'.format(process.stdout)) Exception: Could not parse ssh-agent output. It was: setenv SSH_AUTH_SOCK /tmp/ssh-thoTQTiOTR0y/agent.47524; setenv SSH_AGENT_PID 47797; echo Agent pid 47797;

解決方法是https://github.com/haarcuba/ssh-agent-setup/pull/2/commits/d262228d379a4c58d357c7d5f83a579ca760e054#diff-39dd5525d88610b0c21a9bec4d2534b0

如果有人想實現一個類似的東西的代碼是很容易理解https://github.com/haarcuba/ssh-agent-setup/blob/master/ssh_agent_setup/init.py

閱讀代碼,我現在瞭解如何在python中啓動ssh-agent。

相關問題