【发布时间】:2018-06-19 17:50:17
【问题描述】:
我在多人运行需要端口转发的应用程序时遇到了一些问题。我想生成一个随机端口号,ssh 到应用程序服务器,同时传递该随机数,sed 在几个不同的脚本中用这个端口替换默认端口。
那么有什么方法可以通过 ssh 传递 bash 变量,或者有更好的方法来实现这一点?
【问题讨论】:
-
如果您只是生成一个随机数,那么在本地生成它与在您
sshd 所在的机器上生成它有什么区别? -
因为它是一个随机数,在建立 ssh 连接时用作转发端口,也是从 docker 容器转发到该远程服务器的端口(两跳连接)
-
ssh name@host "sed -i -e \"s/$myrandnumber/22/g\" file1 file2 file3"有效吗? -
这些文件可能位于不同的位置,所以我打算在服务器上使用一些 python 代码(无论它位于何处),运行时会提取我希望的 shell 变量的值传递,然后稍后使用它来重写具有已知相对路径(但不知道绝对路径)的文件中的值。我知道这有点令人困惑,也许另一种方法会更干净。
-
ssh name@host "python myscript.py $myrandnumber"?
标签: bash ssh parameter-passing