[英]Access Windows network drives inside powershell ssh session
我正在尝试从 linux 机器远程自动执行 Windows 上的一些脚本。 该脚本将读取共享驱动器上的一些文件,然后打印出一些输出。
问题
该脚本位于C:\\scripts\\script.py
,它将读取R:
从\\\\remoteFile
映射)
使用ssh user@windows01 "python C:\\scripts\\script.py"
执行脚本导致FileNotFoundError: [Errno 2] No such file or directory: 'R:'
该脚本在本地工作,当我将路径修改为本地路径并将文件移动到本地路径时它也适用
预期结果
映射的驱动器R:
或远程路径\\\\remoteFile
应该可以在 ssh 会话中访问
解决方法
在我的命令之前映射驱动器,即
ssh user@windows01 "net use R: \\\\\\\\remoteFile ${password} /user:user; python C:\\scripts\\script.py"
该解决方案有效但不是最佳的:我有很多脚本以不同的时间表运行,因此这意味着将此行添加到所有作业中。
我尝试过的事情
\\\\remoteFile
,但该路径也不存在于 ssh 会话中EnabledLInkedConnections
但在 ssh 会话中仍然找不到路径题
有没有干净的方法来读取 ssh 会话中的远程文件? 脚本执行应完全自动化,因此不考虑任何需要交互式命令/手动输入的解决方案。
它之所以有效并让您在本地映射驱动器,是因为您具有直接访问权限和权限。 在远程访问的机器上无法访问共享的原因是“ol kerberos 双跳问题” 。 最简单的解决方案是在远程机器上本地获取该文件,而不是共享。 然后运行本地文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.