導航:首頁 > 編程語言 > python遠程操作ssh

python遠程操作ssh

發布時間:2022-08-11 20:41:27

1. python 使用paramiko模塊ssh遠程linux伺服器,linux伺服器已經使用公鑰認證免密碼登陸,請問怎麼寫。

實例1:
#!/usr/bin/python
import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("172.16.1.3",22,"root","333333")
stdin, stdout, stderr = ssh.exec_command("df -h")
print stdout.readlines()
ssh.close()

實例2:
#!/usr/bin/python
import paramiko
t = paramiko.Transport(("172.16.1.2",322))
t.connect(username = "root", password = "222222")
sftp = paramiko.SFTPClient.from_transport(t)
remotepath='/opt/test.txt'
localpath='/opt/test.txt'
sftp.put(localpath,remotepath)
#sftp.get(remotepath, localpath)
t.close()

2. 如何使用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)

3. 使用python 實現SSH登錄設備時出現問題

解決了啊,不過不是用的
stdin,stdout,stderr=client.exec_command('show arp;show clock')
用這種方法只能弄一條命令
用下面這個
chan= client.invoke_shell()
chan.send('en\n')
chan.send("password\n")
chan.send('show log\n')
result = chan.recv(100000).decode()
用了這個可能還有別的問題,試試吧,不行再討論

4. python中怎樣實現ssh遠程登錄伺服器

這個都是自動登陸的了
也是不麻煩的一個操作。
最近寫了一個軟體, 用來批量管理伺服器的。
比如批量操作命令, 批量上傳下載文件的。
也是比較好用多的
如果需要的話, 看一下網名吧

5. python怎樣ssh 連接遠程機器並且執行腳本命令

result=os.popen("ssh A; grep -r hello ./* ") print("".join(result))

6. python用ssh連接時,只用ip和用戶名但是不需要用到密碼,該怎麼編程

區域網內有一百多台電腦,全部都是linux操作系統,所有電腦配置相同,系統完全相同(包括用戶名和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟體,拷貝某些文件,批量關機等。如果一台一台得手工去操作,費時又費力,如果要進行多個操作就更麻煩啦。

或許你會想到網路同傳, 網路同傳是什麼?就是在一台電腦上把電腦裝好,配置好,然後利用某些軟體,如「聯想網路同傳」把系統原樣拷貝過去,在裝系統時很有用,只要在一台電腦上裝好,同傳以後所有的電腦都裝好操作系統了,很方便。同傳要求所有電腦硬體完全相同,在聯想的電腦上裝的系統傳到方正電腦上肯定會出問題的。傳系統也是很費時間的,根據硬碟大小,如果30G硬碟,100多台電腦大約要傳2個多小時,反正比一台一台地安裝快!但是如果系統都傳完了,發現忘了裝一個軟體,或者還需要做些小修改,再同傳一次可以,但是太慢,傳兩次半天時間就沒了。這時候我們可以利用ssh去控制每台電腦去執行某些命令。

先讓我們回憶一下ssh遠程登錄的過程:首先執行命令 ssh [email protected] ,第一次登錄的時候系統會提示我們是否要繼續連接,我們要輸入「yes」,然後等一段時間後系統提示我們輸入密碼,正確地輸入密碼之後我們就能登錄到遠程計算機,然後我們就能執行命令了。我們注意到這裡面有兩次人機交互,一次是輸入『yes』,另一次是輸入密碼。就是因為有兩次交互我們不能簡單的用某些命令去完成我們的任務。我們可以考慮把人機交互變成自動交互,python的pexpect模塊可以幫我們實現自動交互。

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

這個是服務端限制啊,你即使是用python實現,也是走ssh通道啊,也還是要ssh驗證的,服務端限制,你還是沒辦法啊

如果你是嫌兩次登陸麻煩,那就在ssh驗證上做文章,實現免密碼驗證登陸

或者用A機器的ssh tunnel做代理

8. 請教下python3 上如何實現級聯ssh

首先,我的windows系統上有python2和python3。使用下面命令切換到python3:

activate py3
1
接著使用下面命令下載相關模塊:

pip install ecdsa
pip install Crypto
pip install paramiko
1
2
3
連接伺服器操作:
# -*- coding: utf-8 -*-
import paramiko
# 伺服器相關信息,下面輸入你個人的用戶名、密碼、ip等信息
ip = ""
port = 22
user = ""
password = ""
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 建立連接
ssh.connect(ip,port,user,password,timeout = 10)
#輸入linux命令
stdin,stdout,stderr = ssh.exec_command("pwd")
# 輸出命令執行結果
result = stdout.read()
print(result)
#關閉連接
ssh.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
如下,運行該程序,可以看到控制台輸出的結果:

閱讀全文

與python遠程操作ssh相關的資料

熱點內容
演算法軟體實現 瀏覽:837
pdf怎麼列印小冊子 瀏覽:907
qt只編譯核心組件 瀏覽:2
java線程阻塞的方法 瀏覽:823
高精PDF 瀏覽:677
如何查加密的取貨碼 瀏覽:884
java命令行內存 瀏覽:63
安卓微信怎麼取消地區顯示空白 瀏覽:678
吃雞滑鼠宏編程 瀏覽:983
空氣壓縮機油系統跑油分析 瀏覽:749
雲伺服器消耗什麼 瀏覽:713
androidhome重新啟動 瀏覽:479
英雄聯盟手游比賽用的什麼伺服器 瀏覽:255
伺服壓力機怎麼編程 瀏覽:843
數控車內半圓怎麼編程實例 瀏覽:875
bat編譯lan和錯誤檢測 瀏覽:41
java抓取圖片 瀏覽:118
編譯程序求矩形面積和周長 瀏覽:146
velocitypdf 瀏覽:622
不知道加密的wifi怎麼連接 瀏覽:121