【发布时间】:2021-03-27 07:19:28
【问题描述】:
我在本地机器上运行远程服务器上的 shell 脚本并将一些参数传递给脚本。像 test.sh "name" "age" 这是我的脚本:
#!/bin/bash
echo $1
echo $2
脚本执行时在远程服务器上,如果我运行ps aux | grep .sh,我可以看到这两个参数的值。喜欢 bash -s 姓名年龄
有没有办法抑制或隐藏正在运行的 shell 进程中的值,以便可以看到参数?
【问题讨论】:
-
我不这么认为。如果它应该是私有的,请不要将其放入参数中,而是使用标准输入。
-
是的,我正在将一些私有参数从本地机器传递到远程服务器。喜欢
ssh -i mykey user@$remoteIP-o StrictHostKeyChecking=no 'bash -s' < $test.sh "name" "password"。现在 test.sh 脚本在本地机器上,remoteIP 是远程服务器。你能举个例子说明如何使用标准输入将这两个参数传递给远程吗? -
我根本不会这样传递密码。将凭据放在远程计算机上,或执行类似配置
sudo的操作以在不进行身份验证的情况下运行命令。 -
我通常会看到文件。将密码放入文件中。
scp文件。从需要密码的工具读取远程文件中的密码。