我正在尝试通过本地服务器上的 ssh 命令在远程 linux 服务器上执行命令,如下所示:
ssh myremoteserver '类型 ttisql'
其中 ttisql 是我的远程机器路径上的可执行文件。
运行结果如下:
bash:第 0 行:类型:ttisql:未找到
当我简单地先连接并执行以下操作时:
ssh myremoteserver
然后输入命令:
[myuser@myremoteserver~]$: 输入 ttisql
正如我所料,我找回了 ttisql exe 的路径。
奇怪的是,当我在我的 beta 环境中执行第一个命令时,它按预期工作并返回 exe 的路径。在 beta 场景中,机器 A 正在连接到远程机器 B,但两台机器都在现场,并且 ssh 命令快速连接到远程机器。
在我们的生产环境中,当机器 A 在本地而机器 B 在异地并且 ssh 命令需要一两秒才能连接时,就会遇到这个问题。
我能看到的唯一区别是生产 ssh 连接所需的时间。远程系统上的路径是正确的,因为如果在初始连接后输入该命令,则该命令有效。
谁能帮我理解为什么这个简单的命令可以在一个环境中工作而不是在另一个环境中工作?问题是否与通过 ssh 连接所需的时间有关?