linux - 远程权限被拒绝/未找到路径的 SSH 本地脚本

标签 linux bash shell ssh permissions

我正在通过 SSH 从计算机 A 到 B 运行 master.sh 文件。

此主文件调用另一个必须使用其他用户执行的 4 个片段 .sh。

我运行 master.sh,目前位于 /pathA/pathB/master.sh

ssh machineB "bash -sh"  < master.sh 

master.sh 调用始终位于 /pathA/pathB/ 的其他脚本

system_metrics=$(su mdm -c ./snippet1.sh)

结果:bash:./snippet1.sh:权限被拒绝 使用完整路径

 system_metrics=$(su mdm -c /pathA/pathB/snippet1.sh)

结果:bash:没有这样的文件或目录

source ./listen_port.sh 
check_port_mdm

该代码的结果没有这样的文件或目录

其他信息:

脚本片段 1 上 ls -l 的结果 -rwxrwxrwx 1 mdm mdm 12152

/usr/bin/ssh 上 ls -l 的结果: -rwxrwxrwx 1 root root 690952

我能做什么?

最佳答案

好的,为了结束问题从机器 A 到远程机器 B 运行 sh 文件本地脚本:

  • 可以使用 ssh 来运行 不调用任何其他 snippet.sh 的 sh(在机器 B 上不可用)文件。

  • 运行调用其他 snippet.sh 的 sh master(在机器 B 上不可用)文件无法使用 ssh 完成 如果 snippet.sh 在机器 B 上不可用。

关于linux - 远程权限被拒绝/未找到路径的 SSH 本地脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234727/

相关文章:

c++ - 将 boost::ptr_list 从库传输到客户端

c - uboot/kernel开发中uboot从哪里获取flash、RTC、RAM的信息

BASH:它是否支持条件变量,如 var ="test"?"1":"2"

c - C 语言中的 int main() 返回一个 int 但 shell 只接受 unsigned char

bash - 为什么 git diff-tree 的输出在我的 post-receive hook 中是空的?

bash - 如何在 key 中使用正斜杠设置环境变量

unix - 如何转换为零字节文件?

shell - Tmux 将窗口重命名为当前目录

linux - 通过 ssh session 执行 AT+QCFG 命令时,解析消息数据失败

php - 如何从 Windows .bat 运行 php 脚本