Passwords 如何将密码安全地发送到tmux?

Passwords 如何将密码安全地发送到tmux?,passwords,zsh,tmux,Passwords,Zsh,Tmux,下面是我在create_tmux.zsh中的代码 #!/bin/zsh SESSIONNAME=$1 echo $SESSIONNAME tmux has-session -t $SESSIONNAME &> /dev/null if [ $? != 0 ] then tmux new-session -d -s $SESSIONNAME -n emacs tmux new-window -t $SESSIONNAME:1 -n a tmux send-

下面是我在create_tmux.zsh中的代码

#!/bin/zsh

SESSIONNAME=$1
echo $SESSIONNAME
tmux has-session -t $SESSIONNAME &> /dev/null

if [ $? != 0 ]
then
    tmux new-session -d -s $SESSIONNAME -n emacs
    tmux new-window -t $SESSIONNAME:1 -n a
    tmux send-keys -t $SESSIONNAME:1 'ssh -Y a@bc.com;$2' C-m
fi

tmux attach -t $SESSIONNAME
如果我跑步,这很简单

创建_tmux.zsh ab$%^^&av1@

但这样一来,它不仅显示在我的密码终端上,而且还记录在历史上。 我怎样才能解决这个问题?
谢谢

使用
read-s
读取密码。在中搜索
read[
,并注意
-s
选项:“从终端读取时不要回显字符。”例如,请自己尝试以下操作:
read-s'password?password:'&&echo-E$'\n'“您的密码是:$password”
。使用公钥身份验证,这样您就不必提供密码。然后您可以删除
发送密钥
,只需传递
ssh-Y即可a@bc.com
作为
新窗口
命令的参数。@chepner我在本地服务器上运行此命令,并在shell中用ssh连接另一台服务器。然后我需要创建ke在本地服务器上创建密钥对,并将其添加到另一个服务器上。我说得对吗?是否有任何教程可以这样做?谢谢你,对吧;一旦你在本地服务器上生成了密钥对,私钥将保留在本地服务器上,而公钥将发送到远程服务器。@chepner非常感谢。我这样做了,但这次它显示了
输入密码短语f或者key'/home/***/.ssh/id\u rsa':
。询问ssh密钥密码。然后我使用
ssh add~/.ssh/id\u rsa
。很有效。非常感谢