⑴ 使用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()
用了這個可能還有別的問題,試試吧,不行再討論
⑵ python使用ssh可以下載pycryptomode嗎
在python裡面,現在最成熟,使用的最廣泛的ssh模塊不是pycryptomode,而是paramiko,你說到的這個模塊已經被廢棄掉了,paramiko這個模塊可以實現完整的ssh功能,建議你下載這個使用。安裝命令也非常簡單,只需要執行命令
pip install paramiko
然後等它安裝完畢就可以調用了。最簡單的用法就是
import paramiko
client = paramiko.SSHClient()
client.connect(hostname=ip, port=port,username=username,password=password )
就建立了一個ssh鏈接。更多的操作可以看它的文檔。
不知道說清楚了沒有,希望可以幫助到你。
⑶ python用ssh連接時,只用ip和用戶名但是不需要用到密碼,該怎麼編程謝
區域網內有一百多台電腦,全部都是linux操作系統,所有電腦配置相同,系統完全相同(包括用戶名和密碼),ip地址是自動分配的。現在有個任務是在這些電腦上執行某些命令,者說進行某些操作,比如安裝某些軟體,拷貝某些文件,批量關機等。如果一台一台得手工去操作,費時又費力,如果要進行多個操作就更麻煩啦。
或許你會想到網路同傳, 網路同傳是什麼?就是在一台電腦上把電腦裝好,配置好,然後利用某些軟體,如「聯想網路同傳」把系統原樣拷貝過去,在裝系統時很有用,只要在一台電腦上裝好,同傳以後所有的電腦都裝好操作系統了,很方便。同傳要求所有電腦硬體完全相同,在聯想的電腦上裝的系統傳到方正電腦上肯定會出問題的。傳系統也是很費時間的,根據硬碟大小,如果30G硬碟,100多台電腦大約要傳2個多小時,反正比一台一台地安裝快!但是如果系統都傳完了,發現忘了裝一個軟體,或者還需要做些小修改,再同傳一次可以,但是太慢,傳兩次半天時間就沒了。這時候我們可以利用ssh去控制每台電腦去執行某些命令。
先讓我們回憶一下ssh遠程登錄的過程:首先執行命令 ssh [email protected] ,第一次登錄的時候系統會提示我們是否要繼續連接,我們要輸入「yes」,然後等一段時間後系統提示我們輸入密碼,正確地輸入密碼之後我們就能登錄到遠程計算機,然後我們就能執行命令了。我們注意到這裡面有兩次人機交互,一次是輸入『yes』,另一次是輸入密碼。就是因為有兩次交互我們不能簡單的用某些命令去完成我們的任務。我們可以考慮把人機交互變成自動交互,python的pexpect模塊可以幫我們實現自動交互。
⑷ python登陸ssh腳本無法完全退出
這個用法都錯誤了,因為這個命令調用的是ssh互動式命令, 這樣沒效果的。
估計樓主是想管理伺服器吧?
這個問題能幫忙搞定。
可否私聊幫忙搞定?
⑸ 請教個python執行ssh命令的問題
各位我現在想用python寫個ssh登陸的腳本 現在遇見一個問題就是我不太清楚python如何進行變數替換的(機器間已做好ssh互認)
1.1.1.1是我的時間伺服器
比如說beijing_IP 裡面有兩個IP
1.1.1.2
1.1.1.3
import os
IP_FILE=open('/home/cetvuser/beijing_IP','r')
LINES=IP_FILE.readlines()
for i in LINES:
i=i.strip()
os.system("ssh i;ntpdate 1.1.1.1") 這個地方應該怎麼寫?
IP_FILE.close()
報錯內容如下:
[root@xxx]# ./time.py
ssh: i: Name or service not known
25 Apr 11:42:13 ntpdate[7975]: no server suitable for synchronization found
ssh: i: Name or service not known
25 Apr 11:42:17 ntpdate[7979]: no server suitable for synchronization found
ssh: i: Name or service not known
變數替換,看你要在哪裡替換。給你一個簡單的例子。
os.system('ssh %s'%(ip))
復制代碼
⑹ python ssh登錄網管後繼續ssh登錄其它機器,咋寫接下來的代碼
1. 建議使用python+fabric
2. B到A可以使用 scp命令,或者使用ftp命令上傳
3. 可以網路下「python fabric」
⑺ 誰用過python下ssh包paramiko
paramiko是python一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程伺服器的連接
1、可以遠程操作伺服器文件
例如:
df:查看磁碟使用情況
mkdir:創建目錄
mv/cp/mkdir/rmdir:對文件或目錄進行操作
/sbin/service/ xxxservice start/stop/restart:啟動、停止、重啟某服務
netstat -ntl |grep 8080:查看8080埠的使用情況
或者 nc -zv localhost :查看所有埠的使用情況
find / -name XXX:查找某文件 等等
2、可以實現遠程文件的上傳,下載(類似於ssh的scp功能)
首先安裝paramiko
pip install paramiko
但是安裝paramiko需要先安裝一個依賴包叫PyCrypto的模塊。PyCrypto是python編寫的加密工具包,支持的各種加密演算法(主要有:MD2 128 bits;MD4 128 bits;MD5 128 bits;RIPEMD 160 bits;SHA1 160 bits;SHA256 256 bits;AES 16, 24, or 32 bytes/16 bytes;ARC2 Variable/8 bytes;Blowfish Variable/8 bytes;CAST Variable/8 bytes;DES 8 bytes/8 bytes ;DES3 (Triple DES) 16 bytes/8 bytes;IDEA 16 bytes/8 bytes ;RC5 Variable/8 bytes等等。)
⑻ python ssh 多次才能連接
本文實例講述了Python自動連接ssh的方法。分享給大家供大家參考。具體實現方法如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/python
#-*- coding:utf-8 -*-
import sys, time, os
try:
import pexpect
except ImportError:
print """
You must install pexpect mole
"""
sys.exit(1)
addr_map = {
'v3' :('[email protected]', 'sina@2009'),
'dev':('[email protected]', 'test016'),
}
try:
key = sys.argv[1]
host = addr_map[key]
except:
print """
argv error, use it link
jssh v3, v3 must defined in addr_map
"""
sys.exit(1)
server = pexpect.spawn('/usr/bin/ssh %s' % host[0])
server.expect('.*ssword:')
server.sendline(host[1])
server.interact()
希望本文所述對大家的Python程序設計有所幫助。
⑼ 請教一個python ssh連接的問題
我也遇到了這個問題,發現如下url可能很有幫助: 【http://stackoverflow.com/questions/22251258/paramiko-error-servname-not-supported-for-ai-socktype】
摘要如下:
Problem is with client.connect() call, it expects port to be second parameter and to be an integer, whereas you are giving username (string) as second parameter. Try replacing that with below line. client.connect(hostname, username=username, password=password), that should work.
⑽ 求教關於python實現ssh證書登陸交互的問題
可以使用 paramiko 編程完成登錄與SSH操作。
具體請查閱 paramiko 文檔