利用Python實現對linux伺服器SSH遠端連線和系統操作的幾種方式
概述
功能:實現同時對多臺linux伺服器通過ssh執行同一命令。
技術基礎: python pexpect paramiko等模組,部支援windows。
引數:
固定引數pwd:遠端伺服器密碼,使用者名稱目前寫死是root,可自行修改。
可選引數-c CMDS:要執行的命令,比如:"ls -l","cd /home/test && test.py&如果不選擇,會從當前目前的cmd.txt讀取。
可選引數-s SERVERS:目標伺服器,比如192.168.1.100,最後一位數可以用-表示一個區間,分號用於分割不同的ip。如果不選擇,會從當前目前的ip.txt讀取。
【前期方案思路準備】
跟ssh效果一樣 那就python直接執行shell命令(若要在ssh登陸裡面(會話),那隻能用python呼叫shell指令碼)
目前python還沒有直接去操作linux的模組 需要登陸然後執行命令的 ssh、parameko和pexpect模組是同一個型別的
目前開源的用python寫的批量管理linux伺服器的工具有ansible或者saltstack等類似的
若以上功能還不滿足需求等你python學到家了 你就自己寫個模組 自己呼叫就可以定製作開發了
【系統環境準備】
試驗系統型別:centos/Ubuntu,其他機器型別可以作參考
1). Linux系統首先要開啟SSH服務:service ssh status
如果沒安裝的話,則要:apt-get install openssh-server
service ssh restart
2).python最好選用2.7.x或者3.4.*或者3.6.*版本,然後使用pip安裝相應的第三方模組/庫
pip install paramiko
pip install pexpect
pip install pycrypto
以centos7為例先安裝必須的模組
# yum install python-dev
# yum install python-devel
# pip install pycrypto
# pip install paramiko
# pip install ssh
用python SSH模組登入,並在遠端機執行shell命令
3).三種方案的簡單介紹
- Python直接呼叫SSH模組
- 利用paramiko模組實現登陸操作
- Python中 pexpect 模組的pxssh 類(它用於處理一些自動化的需求,比如ssh和ftp)
更多指令碼參考:https://www.cnblogs.com/kex1n/p/5988820.html
python實現ssh及sftp功能 - 愛笑的程式設計師 https://www.cnblogs.com/fang123456/p/7235688.html
Python SSH 的遠端連線並執行命令和下載檔案 -http://blog.csdn.net/syshzbtt/article/details/78069879
使用python遠端操作linux伺服器 http://blog.csdn.net/u010781856/article/details/47018413
用python SSH模組登入,並在遠端機執行shell命令 http://blog.csdn.net/mingzznet/article/details/52912118
技術|用Python來SSH連線到你的機器 https://linux.cn/article-2090-1.html
參考資料
相關文章
- 遠端連線Kali Linux使用PuTTY實現SSH遠端連線Linux
- SSH遠端連線Linux伺服器Linux伺服器
- SSH遠端連線 Linux 伺服器教程Linux伺服器
- php利用ssh操作遠端伺服器PHP伺服器
- 使用 SSH 遠端連線到 Linux 伺服器Linux伺服器
- 如何利用SSH通道來連線遠端的MysqlMySql
- PHP memcached 利用遠端終端連線、操作memcached伺服器PHP伺服器
- 117 遠端連線mysql資料庫的幾種方式MySql資料庫
- 如何實現遠端桌面連線操作
- linux 遠端連線ssh錯誤Linux
- vnc遠端連線linux,vnc遠端連線linux的具體操作VNCLinux
- SSH 隧道遠端連線
- 遠端連線伺服器的方式推薦伺服器
- ssh遠端連結(簡易連線linux命令)Linux
- Pycharm連線遠端伺服器並實現遠端除錯PyCharm伺服器除錯
- Rdp遠端桌面簡介,利用遠端桌面連線遠端伺服器的方法伺服器
- 部落格建站4 - ssh遠端連線伺服器伺服器
- Linux網路-ssh遠端連線協議Linux協議
- 遠端連線Linux相關操作Linux
- VSCode中利用Remote SSH外掛遠端連線伺服器並進行遠端開發VSCodeREM伺服器
- 遠端桌面連線管理器,遠端桌面連線管理器遠端連線vps撥號伺服器的方式伺服器
- Rd遠端桌面簡介,利用rd遠端桌面連線遠端伺服器的方法伺服器
- VNC實現Windows遠端連線Linux桌面VNCWindowsLinux
- 簡單介紹python連線telnet和ssh的兩種方式Python
- Mac SSH 免密登入 連線遠端伺服器Mac伺服器
- Liunx開啟ssh遠端連線
- mosh:一個基於 SSH 用於連線遠端 Unix/Linux 系統的工具Linux
- js實現繼承的幾種方式和對比JS繼承
- Rdo遠端桌面,rdo遠端桌面遠端連線vps撥號伺服器的方式伺服器
- VNC遠端連線,如何VNC遠端連線伺服器VNC伺服器
- golang 幾種字串的連線方式Golang字串
- 幾種表的連線方式(SQL)SQL
- rd遠端桌面連線方式
- rdp遠端桌面連線方式
- [SSH服務]——SSH詳解、常用的遠端連線工具
- 使用java登入遠端LINUX並對服務實現各種操作JavaLinux
- python2.7連線操作redis的幾種方法PythonRedis
- 伺服器遠端連線以及多視窗操作伺服器