SSH | Python ssh遠(yuǎn)程服務(wù)器的簡(jiǎn)單使用

人人可以學(xué)Python.jpg

Python ssh模塊

python有很多第三方的SSh模塊弄屡,我們也可以使用python自帶的ssh模塊,進(jìn)行一些常用的操作

Code: 1. 文件上傳拖陆,下載抹恳,命令執(zhí)行

#!/usr/bin/env python
# -*-coding:utf-8-*-
import ssh

__author__ = "Allen Woo"

def connect_host(ip, port, username, password):
    '''
    連接遠(yuǎn)程主機(jī)
    '''
    client = ssh.SSHClient()
    client.set_missing_host_key_policy(ssh.AutoAddPolicy())
    try:
        client.connect(ip, port = port,
                       username = username,
                       password = password)
    except Exception,e:
        print e
        return False
    return client

# 連接遠(yuǎn)程服務(wù)器
client = connect_host(192.168.1.111,  22,  "test",  "123456")
# 文件下載
sftp = client.open_sftp()
remote_file = "/home/work/test.txt"
local_save_path = "/home/work/temp_file/text.txt"

sftp.get(remote_file, local_save_path)

# 文件上傳差不多
remote_save_path = "/home/work/upload/test.txt"
local_file = "/home/work/text.txt"
sftp.put(local_file, remote_save_path)

# 命令執(zhí)行
stdin, stdout, stderr = client.exec_command("ls -l ")
r = stdout.read()
print(r)

Code: 2. 獲取遠(yuǎn)程服務(wù)器的目錄list

def sftp_walkdir(sftp, path):
    '''
    遞歸獲取path下的所有文件與目錄
    :param sftp: python ssh sftp object
    :param path:
    :return:
    '''
    now_dirname = os.path.split(path)[-1]
    backups = []
    files = sftp.listdir_attr(path)
    for f in files:
        tpath = "{}/{}".format(path, f.filename)
        if f.longname[0] == "d":

            r = sftp_walkdir(sftp, tpath)
            backups.append(r)
        else:
            backups.append({"filename":f.filename, "_path_":tpath})

    return {now_dirname:backups, "_path_":path}

# 測(cè)試下
# 連接遠(yuǎn)程服務(wù)器
client = connect_host(192.168.1.111,  22,  "test",  "123456")
r = sftp_walkdir(sftp, "/home/work/sshtest")
print(json.dumps(r, sort_keys=True, indent=2))

看下Code2 目錄list的結(jié)果

{
  "_path_": "/home/work/sshtest", 
  "sshtest": [
    {
      "_path_": "/home/work/sshtest/test2.txt", 
      "filename": "test2.txt"
    }, 
    {
      "_path_": "/home/work/sshtest/test1.txt", 
      "filename": "test1.txt"
    }, 
    {
      "_path_": "/home/work/sshtest/sshtest_222", 
      "sshtest_222": [
        {
          "_path_": "/home/work/sshtest/sshtest_222/test_lalalal.txt", 
          "filename": "test_lalalal.txt"
        }, 
        {
          "_path_": "/home/work/sshtest/sshtest_222/sshtest_333_222", 
          "sshtest_333_222": [
            {
              "_path_": "/home/work/sshtest/sshtest_222/sshtest_333_222/test_ooooo.txt", 
              "filename": "test_ooooo.txt"
            }
          ]
        }, 
        {
          "_path_": "/home/work/sshtest/sshtest_222/sshtest_333", 
          "sshtest_333": []
        }, 
        {
          "_path_": "/home/work/sshtest/sshtest_222/test_hahahah.txt", 
          "filename": "test_hahahah.txt"
        }
      ]
    }
  ]
}

還有其他功能,可以直接看文檔或者查看源碼, 就先這樣吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末橙困,一起剝皮案震驚了整個(gè)濱河市瞧掺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凡傅,老刑警劉巖辟狈,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異夏跷,居然都是意外死亡上陕,警方通過查閱死者的電腦和手機(jī)桩砰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來释簿,“玉大人亚隅,你說我怎么就攤上這事∈埽” “怎么了煮纵?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)偏螺。 經(jīng)常有香客問我行疏,道長(zhǎng),這世上最難降的妖魔是什么套像? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任酿联,我火速辦了婚禮,結(jié)果婚禮上夺巩,老公的妹妹穿的比我還像新娘贞让。我一直安慰自己,他們只是感情好柳譬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布喳张。 她就那樣靜靜地躺著,像睡著了一般美澳。 火紅的嫁衣襯著肌膚如雪销部。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天制跟,我揣著相機(jī)與錄音舅桩,去河邊找鬼。 笑死雨膨,一個(gè)胖子當(dāng)著我的面吹牛江咳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哥放,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼歼指,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了甥雕?” 一聲冷哼從身側(cè)響起踩身,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎社露,沒想到半個(gè)月后挟阻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年附鸽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脱拼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坷备,死狀恐怖熄浓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情省撑,我是刑警寧澤赌蔑,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站竟秫,受9級(jí)特大地震影響娃惯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肥败,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一趾浅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧馒稍,春花似錦皿哨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仗颈。三九已至佛舱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挨决,已是汗流浹背请祖。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脖祈,地道東北人肆捕。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像盖高,于是被迫代替她去往敵國(guó)和親慎陵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評(píng)論 25 707
  • GitHub 上有一個(gè) Awesome - XXX 系列的資源整理,資源非常豐富喻奥,涉及面非常廣席纽。awesome-p...
    若與閱讀 18,643評(píng)論 4 418
  • 哈嘍润梯,大家好,我是瘦身達(dá)人妞妞,很高興今天為大家?guī)硎飞献顟袦p肥密詔一纺铭,懂的人都瘦了喔 踮腳走路的好處 野菜溫馨提...
    快樂瘦瘦方閱讀 352評(píng)論 0 0
  • 各位領(lǐng)導(dǎo)大家好寇钉,我是 年級(jí)的 這是我們的手工制作教室,一進(jìn)到這里舶赔,您是否感受到了濃濃的傳統(tǒng)文化的氣息呢扫倡?我們的手...
    清淺光陰閱讀 15,610評(píng)論 0 0
  • 這個(gè)周又是一輪無情的碾軋,經(jīng)歷的所有面試顿痪,無果镊辕。如果身邊還有姐妹們向我咨詢想轉(zhuǎn)行,我一定會(huì)讓她們慎重的考慮一下蚁袭,再...
    Sophia的博客閱讀 242評(píng)論 0 0