socat 作为 ssh 的参数:“bash:socat:未找到命令”

socat 作为 ssh 的参数:“bash:socat:未找到命令”

如果我从 Linux 机器通过 ssh 进入 OSX 机器,发出 socat 可以正常工作。但是,如果我将 socat 命令作为 ssh 的参数,则会失败。socat在 OSX 中使用 进行安装brew。知道为什么会发生这种情况吗?

This works:
  $ ssh daniel@remoteOSX
  $ socat -d -d SYSTEM:date -
  < date shows up here :) >

This fails:
  $ ssh daniel@remoteOSX 'socat -d -d SYSTEM:date -'
  Password:
  bash: socat: command not found                                <-- The ERROR

答案1

显然,plainssh不使用你的PATH。通过生成登录 shell 来重新创建您的环境。

ssh daniel@remoteOSX 'bash -lc "socat -d -d SYSTEM:date -"'

相关内容