python使用libssh2連線linux

2021-09-07 01:52:34 字數 1709 閱讀 2927

1.安裝

(1)使用下面命令獲得最新版本的ssh4py安裝包

git clone git:

(2)解壓ssh4py後使用下面命令進行安裝:

cd ssh4py

python setup.py build

python setup.py install

2.開始使用

(1)為了使用libssh2,你必須建立乙個在您自己的的低階套接字並把它傳遞到乙個新的session物件。

#encoding: utf-8

import socket

import libssh2  

sock = socket.socket(socket.af_inet, socket.sock_stream)

sock.connect(('exmaple.com', 22))  

session = libssh2.session()

session.startup(sock)

#還需要使用基本的密碼進行驗證登陸

session.userauth_password(username, password)

#現在可以開始使用它了

channel = session.channel()

channel.execute('ls /etc/debian_version')

channel.wait_closed()  

if channel.get_exit_status() == 0:  

print "it's a debian system"

else:  

print "it's not a debian system"

(2)假如你想獲得執行命令的輸出

#encoding: utf-8

import socket

import libssh2  

sock = socket.socket(socket.af_inet, socket.sock_stream)

sock.connect(('exmaple.com', 22))  

session = libssh2.session()

session.startup(sock)

#還需要使用基本的密碼進行驗證登陸

session.userauth_password(username, password)

channel = session.channel()

channel.execute('ls -l')  

stdout =

stderr =   

while not channel.eof: 

data = channel.read(1024) 

if data:  

data = channel.read(1024, libssh2.stderr)  

if data:   

print ''.join(stdout)

print ''.join(stderr)

(3)使用中可能遇到的問題

這裡我們都會發現,使用exec_command('cd dirname')時並不會切換目錄,

execute_command() 是a single session,每次執行完後都要回到預設目錄。

所以可以 .execute_command('cd  /var; pwd')。

2 使用 Python 直譯器

python 直譯器通常被安裝在目標機器的 usr local bin python3.5目錄下。將 usr local bin目錄包含進 unix shell 的搜尋路徑裡,以確保可以通過輸入 python3.5命令來啟動他。1 由於 python 直譯器的安裝路徑是可選的,這也可能是其它路徑,你...

2 使用 Python 直譯器

安裝到windows 下 執行 cmd後輸入,python介面如下 在主提示符中輸入檔案結束字元 在 unix 系統中是 control d,windows 系統中是 control z 就退出直譯器並返回退出狀態為0。如果這樣不管用,你還可以寫這個命令退出 quit 直譯器的行編輯功能在支援 gn...

Python 教程 2 使用Python直譯器

python直譯器通常作為 usr local bin python3.6安裝在可用的機器上 把 usr local bin放在你的unix shell的搜尋路徑中可以通過輸入以下命令啟動它 python3.6 到命令列。1 由於直譯器所在目錄的選擇是安裝選項,因此其他地方也是可能的 請諮詢您的本地...