python远程执行shell 防止注入脚本_解决 window 上python远程执行shell paramiko 下令 Permission denied...
1. 若是程序是在 Linux遠程執行 , 那么遇到某些下令是不需要 再輸入密碼的
但若是 python 是在內陸 , 用? paramiko包 遠程ssh登錄執行下令 , 就會遇到需要輸入密碼
2.解決辦法 , 在windows上面??ssh-keygen -t rsa -C “abby@192.168.1.100” ,??公鑰的作用域是遠程 IP用戶名 為’abby’
建立window 自己的公鑰 , 實在相當于自己的指紋.
把這個指紋 , 復制到遠程 Linux的 公鑰存放點
(在window的公鑰文件夾下執行復制下令 , 注重遠程Linux內里根目錄? ?~ 代表的是用戶 , /dir 代表的是 root的根目錄
scp ./id_rsa.pub abby@192.168.1.11:~/.ssh/windows_ras.pub? ? ? ?我這里是復制到用戶.ssh內里
這個下令就是查看你復制到Linux的RSA 公鑰而且寫入到 Linux已確認免密登錄公鑰的文件中 , 他自己會建立 , 這樣就可以window免密登錄了
使用python的 ssh 功效就不用輸入密碼 ,我指的是啟動某些下令需要
cat windows_ras.pub >> authorized_keys
注重: scp 復制到Linux的 /? 和~/? 不是統一位置哦 , / 是root的免密 . ~/是 user的免密(說了兩遍)
Final: 貼上我 用python 上的 paramiko 包 遠程 啟動 hadoop實例 .以前是能上岸進去,然則執行下令會報要輸入密碼 ,
另外,執行下令需要輸入完整的路徑名
#-*- coding: utf-8 -*-#批量操作linux服務器(執行下令,上傳,下載)#!/usr/bin/python
importparamikoimportthreadingdefssh2(ip, username, passwd, cmd):try:
paramiko.util.log_to_file('paramiko________.log')
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,22, username, passwd, timeout=5)
stdin, stdout, stderr=ssh.exec_command(cmd)
out=stdout.readlines()#outerr = stderr.readlines()
#屏幕輸出
print('執行完畢')for o inout:print(o),print('%s\tOK\n' %(ip))
ssh.close()except:print('%s\tError\n' %(ip))if __name__ == '__main__':#cmd = ['ls -lh /export/servers/mysql/log/mysql.log']#你要執行的下令列表
#從文件讀取下令
cmd= "/home/abby/module/hadoop-2.6.0-cdh5.15.0/sbin/start-dfs.sh;"
print("執行下令:", cmd)
username= "abby" #用戶名 你是免密給哪個用戶的 ,哪個用戶才有權力不用 密碼接待外賓
passwd = "1" #單臺服務器時啟用----------------------
ip = '192.168.1.11' #單臺服務器時啟用----------------------
a= threading.Thread(target=ssh2, args=(ip, username, passwd, cmd))
a.start()
PS:? 我們把window的 公鑰比喻成一個客戶 , 秘鑰上傳比作 行賄 , 你傳給誰的? , 那么誰才能為你 開門 ,scp 的位置 , 作用的用戶 就是你行賄的工具
你不能用行賄給 abby? , 開門卻去找 root , 那樣照樣需要密碼的 , 就算你把大門打開 , 焦點通道你照樣進不去 ,就像這里我行賄給 abby ,我用root 去登錄 ,
能登進去 , 但執行需要認證的下令一定失敗.
以是我用 abby 登錄上照樣可以的 ,就算 root 的權限比abby 高也不行 . 我執行了? ?關閉 hadoop的下令 而且返回了 .
通過這個 . . . 這也能執行一些劇本的 .橫豎不需要輸密碼 .
原文鏈接:https://www.cnblogs.com/alpha-cat/p/12861783.html
本站聲明:網站內容來源于網絡,若有侵權,請聯系我們,我們將及時處理。
總結
以上是生活随笔為你收集整理的python远程执行shell 防止注入脚本_解决 window 上python远程执行shell paramiko 下令 Permission denied...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java怎么做系统_Java系统监控怎么
- 下一篇: 有哪些小游戏的java代码_求一个Jav