将 Windows 中的批处理脚本变量中的密码注入到 Linux 上运行的 SSH 命令是否安全?

将 Windows 中的批处理脚本变量中的密码注入到 Linux 上运行的 SSH 命令是否安全?

我们正在考虑使用如下所示的批处理文件来进行软件部署。虽然我们不需要高安全性,但我们仍然想知道这种方法是否存在明显的安全问题。

@echo off
set /p PASSWORD="Please enter sudo password:"
ssh -t user@host "echo %PASSWORD% | sudo -S su;sudo docker container ls"

我们正在开发计算机 (Windows) 上运行批处理文件,以将 docker 容器部署到 Linux 计算机。运行该文件时,系统会提示我们输入 sudo 密码,然后在 SSH 命令中使用该密码。部署后需要以 sudo 身份运行 docker 容器的重启和其他一些命令。 Linux 计算机上的用户没有 sudo 访问权限,也没有 root 密码。

如果像这样执行 SSH 命令,是否会记录在某处,例如在 SSH 命令历史记录或用户历史记录中?

我们可以对这种方法进行改进吗?

当然,还有更复杂的方法可以做到这一点,但现在我们需要一个像这样简单且实用的解决方案。

相关内容