如果我从 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 -"'