将外部变量注入Linux shell脚本,然后通过SSH执行代码,最安全的方法是什么?
我需要编写一个类似这样的Linux shell脚本——它将由作业调度工具执行,普通终端用户可以在其中配置将外部变量注入Linux shell脚本,然后通过SSH执行代码,最安全的方法是什么?,linux,shell,Linux,Shell,我需要编写一个类似这样的Linux shell脚本——它将由作业调度工具执行,普通终端用户可以在其中配置$1和$2: SERVER=$1 选项=$2 ssh-t remote_user_name@$SERVER'ksh-lc“remote_command_name$OPTIONS” 看,我可以看出我需要小心如何写这篇文章,以避免“注入”问题 (更不用说,在单引号内,我实际上没有在这一点上插入$OPTIONS。) 在我的例子中,remote\u command\u name的可接受选项如下: -
$1
和$2
:
SERVER=$1
选项=$2
ssh-t remote_user_name@$SERVER'ksh-lc“remote_command_name$OPTIONS”
看,我可以看出我需要小心如何写这篇文章,以避免“注入”问题
(更不用说,在单引号内,我实际上没有在这一点上插入$OPTIONS。)
在我的例子中,remote\u command\u name
的可接受选项如下:
--帮助
config_file_path_to_run_
--详细配置文件\u运行路径\u
FWIW,看起来两台机器上选择的外壳都默认为
ksh
好的,到目前为止,我已经做到了这一点——插值正在工作
是不是。。。安全吗
SERVER=$1
选项=$2
REMOTE\u COMMAND\u DBL\u QUOT=“\”REMOTE\u COMMAND\u name$OPTIONS“”
本地命令=“ksh-lc$REMOTE”命令“DBL”
ssh-t remote_user_name@$SERVER$LOCAL_命令