① 如何使用python連接遠程Windows伺服器

你可以在winodws 上架設ssh 伺服器, 然後你就可以在本地通過ssh協議來連接伺服器,然後選擇程序. python 的ssh 模塊可以使用paramiko

② python 怎麼開啟遠程的服務

你可以使用python的pexcpct包通過ssh調用遠程伺服器指令:
import pxssh
import getpass
try:
s = pxssh.pxssh()
hostname = raw_input('hostname: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('uptime') # run a command
s.prompt() # match the prompt
print s.before # print everything before the propt.
s.sendline ('ls -l')
s.prompt()
print s.before
s.sendline ('df')
s.prompt()
print s.before
s.logout()
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)

③ 如何使用python實現遠程登錄到linux再遠程登錄到另一個linux

python用parammiko模塊實現linux的遠程操作:
一、parammiko 的安裝
提前下載好需要的軟體包。
1、安裝pycrypto
$ tar -zxvf pycrypto-2.0.1.tar.gz $ cd pycrypto-2.0.1 $ python setup.py build $ sudo python setup.py install
2、安裝paramiko $ tar -zxvf paramiko-1.7.6.tar.gz $ cd paramiko-1.7.6 $ python setup.py build $ sudo python setup.py install
可能遇到的問題及解決:
如果在安裝pycrypto2.0.1時發生如下錯誤
view plain
<strong>[/pycrypto-2.0.1]$ sudo python setup.py build running
build running build_py running build_ext building '
Cryp to.Hash.MD2' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexce
ptions -fstack-protector ——param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC -Isrc/ -I/usr/include/pyt
hon2.4 -c src/MD2.c -o build/temp.linux-x86_64-2.4/src/MD2.o
unable to execute gcc: No such file or directory error: comma
nd 'gcc' failed with exit status 1</strong>
解決方案1:
可能是缺少pyton-dev安裝包導致
$ yum list | grep python-dev
$ yum -y install python-dev* 「需root許可權執行」
執行後,重新安裝即可成功。
解決方案2:
如果解決方案1還不能解決問題,可能是「gcc」沒有安裝或者不再PATH中
$ whereis gcc 「檢查gcc」
$ echo $PATH 「檢查gcc是否在PATH中」
如果沒有安裝 「gcc」 ,執行如下命令
$ yum list | grep gcc
$ sudo yum install -y gcc.x86_64
執行後,重新安裝即可。

④ 關於python遠程登錄

我的建議
1)用wireshark截包來分析交互進行到哪一步了。也許提示符匹配後就沒有成功。
2)注意回車換行,也許沒發\n也會導致遠程沒有執行。

⑤ 如何遠程登錄Linux機器並運行Python程序

新手對於沒有圖形界面的linux遠程登錄及其操作都充滿畏懼。這里介紹一個簡單的軟體。叫作BitViz。簡稱BV for short。

一、軟體安裝
這里使用Putty的一個client軟體叫作Bv SshClient. 你可以在putty的官網上找到其鏈接。

Bitvise Tunnelier

Tunnelier is an SSH and SFTP client for Windows. It is developed and supported professionally by Bitvise. Tunnelier is robust, easy to install, easy to use, and supports all features supported by PuTTY, as well as the following:

graphical SFTP file transfer; 圖形界面最喜歡
single-click Remote Desktop tunneling;
auto-reconnecting capability;
dynamic port forwarding through an integrated proxy;
an FTP-to-SFTP protocol bridge. 方便的上傳下載和刪除操作。
Tunnelier is free for personal use, as well as for indivial commercial use inside organizations. You can download Tunnelier here. ownload-area

二、熟悉窗口
下面一個例子,是找到python軟體安裝位置的演示:
1. 首先,我進入到root

步驟一,進入root

2. 輸入/home

步驟二,進入home

3. 點擊其中子文件夾,即可找到,方便了。

步驟三,找到python文件夾

三、easy_install python library
Example Of python-setuptools Being Installed:
[root@server ~]# yum install python-setuptools

Yum Command To Install python-setuptools-devel:
[root@server ~]#yum install python-setuptools-devel

在linux 下: 使用方法非常簡單,在命令行輸入「easy_install 參數」即可。
這比我想像的要方便很多!在windows里,我要cmd-cd & easy_install flickrapi
在ssh的命令窗口,只需輸入 easy_install flickrapi

如下圖:

easy_install flickrapi

四、run python script as a background process in linux

So, you have a server to which you connect remotely, upload a python script and want to run it and logout from the server keeping the program running. If you frequently work with spiders, you surely want to do it. But how to do it? For example if your script's name is script.py, then the command is:

[root@server ~]# nohup python script.py &

And sometimes you may be interested to see the output is that being generated. Then you should view the nohup.out file! This command can be useful:

[root@server ~]# tail -f nohup.out

看看效果!

⑥ 如何使用python執行遠程shell腳本

最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,

代碼如下:
os.system('cat /proc/cpuinfo')

但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。

嘗試第二種方案 os.popen()

代碼如下:
output = os.popen('cat /proc/cpuinfo')
print output.read()

通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程序執行的返回值)

嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。

代碼如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output

Python Document 中給的一個例子,

代碼如下:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

⑦ python遠程操作windows伺服器有什麼方案

可以使用python+paramiko。 paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠內程伺服器的連接。 使用paramiko可以很好容的解決以下問題: 需要使用windows客戶端, 遠程連接到Linux伺服器,查看上面的日誌狀態,批量配置遠程伺服器,文件上傳,文件下載等 具體可以參考: http://www.paramiko.org/

⑧ 請教各位大神用純Python能不能編寫一個遠程式控制制軟體,比如遠程式控制制別人

能,但是很麻煩,需要遠程有特定的包。需要的dependency非常大。
完全比不上編譯一個exe就完事了。尤其是windows這系統不自帶python。

⑨ 如何遠程調試Python代碼

背景描述
有時候Python應用的代碼在本地開發環境運行十分正常,但是放到線上以後卻出現了莫名其妙的異常,經過再三排查以後還是找不到問題原因,於是就在想,要是可以在伺服器環境中進行單步跟蹤調試就好了。
然而,在伺服器系統上安裝一個IDE肯定是不現實的;通過SSH遠程到伺服器端,採用pdb進行調試雖然可行,但是操作還是較為繁瑣,而且也不夠直觀。
那麼,是否可以將開發環境中的IDE與伺服器環境相連,實現利用開發環境的IDE調試伺服器環境中運行的程序呢? 答案是肯定的,這就是遠程調試(Remote Debug)。
遠程調試的工作原理
遠程調試的功能在Eclipse、IntelliJ IDEA等大型IDE中均有支持,實現原理都基本相同,這里採用PyCharm進行說明。
在遠程調試的模式下,PyCharm(IDE)扮演服務端(Server)的角色,而運行在遠程計算機上的應用程序扮演客戶端(Client)的角色。正因如此,進行遠程調試時,需要先在本地開發環境中設定埠並啟動IDE,IDE會對設定的埠開始監聽,等待客戶端的連接請求;那遠程計算機中的應用程序又是怎樣與IDE建立通訊連接的呢?
針對遠程調試功能,PyCharm提供了pydevd模塊,該模塊以pycharm-debug.egg的形式存在於PyCharm的安裝路徑中。遠程計算機安裝該庫文件後,然後就可以調用pydevd.settrace方法,該方法會指定IDE所在機器的IP地址和監聽的埠號,用於與IDE建立連接;建立連接後,便可在IDE中對遠程在遠程計算機中的程序進行單步調試。
遠程調試的配置方法
1、在遠程計算機上安裝pydevd模塊
首先,在本地開發環境的PyCharm安裝路徑中找到pycharm-debug.egg文件(若遠程計算機運行的是Python3,則需要pycharm-debug-py3k.egg);
然後,將pycharm-debug.egg文件拷貝至遠程計算機,在遠程計算機中將pycharm-debug.egg添加至引用路徑,可以採用多種方式:
採用easy_install pycharm-debug.egg命令進行安裝(pip命令無法安裝,只能使用easy_install)
將pycharm-debug.egg添加至PYTHONPATH或sys.path: import sys; sys.path.append('/home/leo/app-dependancies/pycharm-debug.egg')
解壓pycharm-debug.egg,將其中的pydev文件夾拷貝至遠程應用程序目錄下
最後,在遠程計算機的Python命令行中輸入import pydevd,若沒有報錯則說明pydevd模塊安裝成功。
2、在本地開發環境的PyCharm中進行監聽配置
在PyCharm中配置說明如下:
【Run】->【Edit Configurations】
【Add New Configuration】->【Python Remote Debug】
填寫Local host name和Port,其中Local host name指的是本機開發環境的IP地址,而Port則隨便填寫一個10000以上的即可;需要注意的是,由於遠程計算機需要連接至本地開發環境,因此本地IP地址應該保證遠程可以訪問得到
【Apply】and【OK】
3、在本地開發環境的PyCharm中配置Mapping映射
4、在遠程計算機的應用程序中插入代碼
將如下代碼插入至遠程計算機的應用程序中。
import pydevd
pydevd.settrace('100.84.48.156', port=31235, stdoutToServer=True, stderrToServer=True)

其中,IP地址和埠號要與PyCharm中的監聽配置保持一致。
5、在PyCharm中啟動Debug Server
【Run】->【Debug…】,選擇剛創建的遠程調試配置項,在Debug Console中會顯示如下信息:
Starting debug server at port 31235
Waiting for process connection...
Use the following code to connect to the debugger:
import pydevd
pydevd.settrace('100.84.48.156', port=31235, stdoutToServer=True, stderrToServer=True)

這說明Debug Server已經啟動並處於監聽狀態。
6、在遠程計算機中啟動應用程序
在遠程計算機中啟動應用程序,當執行到pydevd.settrace語句時,便會與本地開發環境中的PyCharm建立通訊連接,接下來便可以在本地IDE中進行單步調試了。
需要注意的是,本地開發環境必須保證IP地址和埠號可從遠程計算機訪問得到,否則會無法建立連接。
$ telnet 100.84.48.156 31235
Trying 100.84.48.156...
telnet: Unable to connect to remote host: Connection refused

$ python devicedectector.py
Could not connect to 100.84.48.156: 31236
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pycharm-debug.egg/pydevd_comm.py", line 478, in StartClient
s.connect((host, port))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 111] Connection refused

⑩ 如何使用python遠程登錄一個操作系統,並執行某條命令

你可以使用python的pexcpct包通過ssh調用遠程伺服器指令:
import pxssh
import getpass
try:
s = pxssh.pxssh()
hostname = raw_input('hostname: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (hostname, username, password)
s.sendline ('uptime') # run a command
s.prompt() # match the prompt
print s.before # print everything before the propt.
s.sendline ('ls -l')
s.prompt()
print s.before
s.sendline ('df')
s.prompt()
print s.before
s.logout()
except pxssh.ExceptionPxssh, e:
print "pxssh failed on login."
print str(e)