首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >即使在使用Paramiko连接到SSH服务器之后,os.mkdir仍然在本地创建文件夹。

即使在使用Paramiko连接到SSH服务器之后,os.mkdir仍然在本地创建文件夹。
EN

Stack Overflow用户
提问于 2022-01-29 18:56:47
回答 2查看 246关注 0票数 1

脚本的原理是,它应该通过SSH连接从一个虚拟机连接到另一个虚拟机,并生成一定数量的文件夹。脚本运行,但在执行时,会在主机上生成文件夹。

代码语言:javascript
运行
复制
import os
from paramiko import SSHClient, AutoAddPolicy
from sys import argv
 
address = argv[1]
port = int(argv[2])
name = argv[3]
path = argv[4]
prefix = argv[5]
counts = int(argv[6])
mode = int(argv[7])
 
def generateFolders(path, prefix, counts, mode):
   for i in range(1, counts+1):
       folderName = prefix + str(i)
       pth = os.path.join(os.path.expanduser('~'), path, folderName)
       os.mkdir(pth, mode)
 
 
command = generateFolders(path, prefix, counts, mode)
 
print(address)
client1 = SSHClient()
client1.set_missing_host_key_policy(AutoAddPolicy())
client1.connect(address, username=name, password='1')
stdin, stdout, stderr = client1.exec_command(command)
 
print(stdout.read())
 
client1.close()

终端中的命令

但是没有脚本,我可以连接到另一个虚拟机。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-29 19:35:46

,它在您的本地框上生成dirs,因为那里是运行python脚本的地方。

我建议你看看这个问答。

在该QandA中,它们展示了如何在本地框上使用ssh在远程框上执行命令。您可以使用现有代码作为在远程框上运行的代码,使用上面的代码作为您的指南。

特别是这个这一个

票数 0
EN

Stack Overflow用户

发布于 2022-01-29 21:35:46

os.mkdir在本地计算机上创建文件夹。它不会神奇地开始在远程机器上工作,仅仅因为您以前打开了到该机器的SSH连接(实际上您甚至没有打开它,因为您只在调用os.mkdir之后才打开它)。

若要通过Paramiko模块在远程计算机上创建文件夹,请使用SFTPClient.mkdir

代码语言:javascript
运行
复制
sftp = client1.open_sftp()

for i in range(1, counts+1):
    folderName = prefix + str(i)
    pth = os.path.join(os.path.expanduser('~'), path, folderName)
    sftp.mkdir(pth, mode)

虽然您不应该在SFTP路径上使用os.path,因为您的代码会中断,但如果在/和其他平台上运行,则不使用/作为路径分隔符。当然,os.path.expanduser将把~扩展到本地用户主页。我觉得你不想那样。

强制性警告:不要单独使用AutoAddPolicy --这样做将失去对https://en.wikipedia.org/wiki/Man-in-the-middle_attack的保护。有关正确的解决方案,请参见https://stackoverflow.com/q/10670217/850848#43093883

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70908734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档