Linux 通过ssh将密码作为环境变量传递

Linux 通过ssh将密码作为环境变量传递,linux,bash,ssh,remote-access,sudo,Linux,Bash,Ssh,Remote Access,Sudo,以下是我所知道的:- echo“passowrd”| sudo SOME_命令 上面提到的命令将以root用户身份直接登录bashshell并运行SOME\u命令 我想做的是:- 我想从远程机器执行相同的任务。为此,我希望通过ssh命令将密码作为变量传递。大概是这样的:- ssh-o PASSWORD=PASSWORDuser@hostA“echo$PASSWORD | sudo SOME_命令” (参考文献:-) 但它不传递$PASSWORD变量 任何帮助都将不胜感激 谢谢 简单摘要:- 以下

以下是我所知道的:-

echo“passowrd”| sudo SOME_命令

上面提到的命令将以root用户身份直接登录bashshell并运行
SOME\u命令

我想做的是:-

我想从远程机器执行相同的任务。为此,我希望通过ssh命令将密码作为变量传递。大概是这样的:-

ssh-o PASSWORD=PASSWORDuser@hostA“echo$PASSWORD | sudo SOME_命令”

(参考文献:-)

但它不传递
$PASSWORD
变量

任何帮助都将不胜感激

谢谢

简单摘要:-

以下是我想做的:-


我想在通过SSH登录时向远程主机传递一个变量,以便在远程主机脚本中访问它

每天都有人提出同样的问题。
您不应该在一行中使用
sudo
ssh

这是一张我今天在开玩笑的照片


要通过管道传递变量,可以执行以下操作

echo "Hello World!" | ssh USER@HOST cat

其他方法是通过
scp
rsync

传递文件。您可以使用sshpass实用程序来执行此任务。 但这不是一种安全的方式,您的通行证不是加密格式


参考资料:

您能查看我的问题摘要吗?我只想从主机向远程主机传递一个变量。若要通过
stdin
传递
sudo
密码,请尝试向
sudo
添加选项…@anishsane如何使用ssh将任何env变量传递到远程shell?
sshuser@host变量=值命令
??e、 g.
sshuser@hostPASSWORD=$PASSWORD命令
不,它不工作,我尝试了这个
ssh-tuser@hostVAR=123'echo$VAR'
sshuser@hostVAR=123‘echo$VAR’
它给出了空白输出对相关问题的投票率最高的答案的注释解释服务器配置必须明确接受变量。无论如何,从安全的角度来看,你写的东西很糟糕:你在脚本中存储了一个允许root访问的密码。你可以看看另一篇关于Nope
sshpass
的帖子,它在我的机器上不可用,我也不能安装它。