請問python如何用docker API和paramiko做webssh?

時間 2021-06-05 18:53:01

1樓:37丫37

或許可以看看這個

Django實現WebSSH操作Kubernetes Podpython 呼叫kubernetes api,實現對pod的ssh連線,從而進行命令執行等操作

還有一系列的WebSSH相關的文章可以參考:https://blog.ops-coffee.cn/webssh

2樓:布道

importparamiko

s = paramiko.SSHClient()

s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')

s.connect(hostname='ip位址', port=埠號, username='使用者名稱', pkey=key)

stdin, stdout, stderr = s.exec_command('執行的命令')

res, err = stdout.read(),stderr.read()

result = resifreselseerr

print(result)

但是一般不建議這樣做,API暴露出來也很危險。

建議引入ETCD,做應用的名稱,IP位址和埠儲存。

1.在應用啟動時將這些資訊寫入到etcd中,etcd支援ttl超時,超時將註冊資訊銷毀掉。實現服務註冊

2.引入confd,結合nginx,實現服務自動發現。

3.django可以做個頁面,利用paramiko實現webssh(etcd已經存了應用名稱,IP位址和埠,etcd也有python包,直接取值就好了。),也可以實現nginx配置web方式配置。

如何用python控制arduino?

FLAGYAN Arduino板子的韌體 下位機 在自帶的IDE裡面有,路徑Examples Firmata StandardFirmata,寫入這個韌體就可以在PC上寫python的程式直接控制,python直接執行在PC上,通過frimata協議給板子發命令執行相應的操作。 許俊彬 Arduin...

如何用python傳送email?

若月寒 fp open filename,rb 務必加上必要的頭,否則傳送後無法正常解碼file.add header Content Disposition attachment filename gbk filename file.add header Content ID 0 file.add...

如何用Python畫樹?

半個馮博士 先寫乙個樹 class TreeNode def init self key self key key self right None self left None definsert self key if self key key return elif self key ifsel...