導航:首頁 > 編程語言 > python實現ssh登錄

python實現ssh登錄

發布時間:2025-06-30 16:47:17

⑴ 如何python3.4使用pexpect來實現SSH登陸

Pexpect 是 Don Libes 的 Expect 語言的一個 Python
實現,是一個用來啟動子程序,並使用正則表達式對程序輸出做出特定響應,以此實現與其自動交互的 Python 模塊。 Pexpect
的使用范圍很廣,可以用來實現與 ssh、ftp 、telnet
等程序的自動交互;可以用來自動復制軟體安裝包並在不同機器自動安裝;還可以用來實現軟體測試中與命令行交互的自動化。

在shell裡面用過pexpect的人,相信都會很熟悉這種工具,pexpect是expect的python的一個實現,利用python來操作某些互動式的自動化任務是非常方便的。

如何在linux下安裝?
1,使用wget https://pypi.python.org/pypi?:action=show_md5&digest= 下載
2,使用tar -zxvf pexpect-3.3.tar.gz解壓
3,使用python setup.py install進行安裝
ok,上面的步驟,執行完成之後,我們就可以來寫個demo測試一下了,另外注意兼容問題,散仙的python是3.4,所以要下載支持python3.4的pexpect,如果你的python版本是2.x那麼就要下載2.x的pexpect來使用。
下面是散仙模擬SSH登陸一台機器並列印磁碟情況,然後退出的例子:
#!/usr/local/python3.4/bin/python3.4
import pexpect
ip="192.168.46.22"
name="root"
pwd="abc"
#發送命令執行交互
child=pexpect.spawn('ssh %s@%s' % ("root",ip) )
#
child.expect ('password:')
child.sendline(pwd)
child.expect('$')
child.sendline('df -h')
#發送命令
child.sendline("exit")
child.interact()
#關閉pexpect
child.close()

執行結果如下:
Last login: Wed Oct 22 18:35:08 2014 from 192.168.46.31
exit[root@ganglia ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ganglia-lv_root 30G 3.6G 25G 13% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 485M 32M 428M 7% /boot
[root@ganglia ~]# exit
logout
Connection to 192.168.46.22 closed.
[root@master 2012]#
本文只是一個簡單的例子,可能覺得沒有必要使用python來完成,但當系統管理規模一旦大起來的話,使用python來自動化管理是非常輕松的一件事。

⑵ 樹莓派實現ssh動態密碼登錄

為增強樹莓派系統安全性,手動編寫python腳本實現SSH動態密碼登錄,適用於raspberrypi os(基於Debian GNU/Linux 12)。

在運行前,請確保安裝所需庫,如遇pip錯誤,請在虛擬環境中安裝。同時,需在發件郵箱開啟smtp服務。

簡易版代碼運行後,顯示動態密碼登錄SSH效果良好。動態密碼通過郵件發送,確保安全性。

為防止密碼泄露,動態密碼在發信端進行AES加密。樹莓派(發信端)的passwdcg.py腳本加密密碼。解密代碼存於電腦,將郵件中的加密密碼(不帶單引號)復制至此,即可解密為8位數字,用於SSH登錄。

實現定時發送密碼,使用crontab工具。編寫passwd.sh腳本,修改路徑後,使用crontab -e添加定時任務,確保每10分鍾收到一封動態密碼郵件,通過解密代碼解密使用。

為提升安全性,建議定期更換AES加密的密鑰和向量,或嘗試其他加密方式。在ssh.conf文件中設置僅允許動態密碼登錄,進一步增強安全性。

⑶ Pycharm使用SSH連接遠程伺服器

很多開發者在內網環境中工作時,常常需要遠程連接到公司伺服器進行代碼調試,但基於安全和資源隔離的考量,通常無法直接訪問公網進行更新和安裝所需軟體。本文將詳細指導如何使用SSH連接遠程伺服器,並在本地開發環境中實現高效調試。

首先,構建容器環境以隔離不同項目間的依賴沖突。在內網環境下,使用Docker容器提供安全且獨立的開發空間。需創建一個Docker容器並安裝必要的軟體,如SSH和VIM。

確保內網伺服器的網路配置允許SSH連接。在伺服器上備份原sources.list,然後添加自定義源地址以更新APT源。執行源更新操作後,安裝SSH及VIM,接著配置SSH服務,允許root用戶通過密碼驗證登錄,並設置合適的密碼。最後,啟動SSH服務。

對於使用PyCharm進行開發的開發者,需要在本地配置遠程伺服器連接。在PyCharm中添加遠程伺服器鏈接,選擇SFTP連接方式,並輸入伺服器IP、用戶名(通常為root)和SSH埠號(通常映射為22或指定埠)。在配置SSH連接時,確保使用正確的密碼進行驗證。

接著,配置Python解釋器和文件路徑映射。在PyCharm中設置Python Interpreter,並選擇SSH連接。添加伺服器配置,確保Python解釋器路徑正確。設置文件同步,使本地和遠程伺服器的項目文件保持一致,同時開啟自動上傳項目文件到伺服器的功能。

對於查看Python安裝路徑,只需在Python解釋器環境中導入sys模塊,執行sys.executable命令即可獲取Python安裝路徑。

在CentOS7系統中配置遠程伺服器SSH連接時,首先需創建包含「--privileged=true」參數的Docker容器以確保SSH服務能正常啟動。檢查是否已安裝openssh-server(通常會默認安裝),如果沒有,可更新源後進行安裝。修改sshd_config文件,取消注釋以允許遠程訪問,並配置密碼驗證。最後,啟動SSH服務並設置開機自啟動。

通過上述步驟,內網開發人員能夠在本地實現與遠程伺服器的高效連接與調試,優化代碼開發流程,提升工作效率。

閱讀全文

與python實現ssh登錄相關的資料

熱點內容
程序員的女朋友還好嗎 瀏覽:774
php時間數字格式 瀏覽:256
ug編程雕刻平面圖 瀏覽:44
微贊官方原版源碼 瀏覽:738
python如何添加到列表 瀏覽:689
文件夾重命名單詞是什麼 瀏覽:879
加密軟體打開一次後打不開了 瀏覽:355
三合一收款碼源碼後台 瀏覽:8
廣東農信app用戶名怎麼填 瀏覽:643
安卓系統相機怎麼調成網格 瀏覽:350
阮一峰演算法 瀏覽:839
運動寶刷步小程序源碼 瀏覽:940
cad列印pdf線條太粗 瀏覽:241
雲伺服器2008環境配置 瀏覽:299
自動記賬app怎麼樣 瀏覽:101
linux下升級php版本 瀏覽:509
為什麼在應用加密里沒有微信 瀏覽:657
郵政局app怎麼寄錢到監獄 瀏覽:231
伺服器怎麼設置多人連接伺服器地址 瀏覽:253
php裁剪並縮放圖片 瀏覽:318