在Mac中使用别名使用sshpass命令时,获得权限被拒绝响应

问题描述 投票:0回答:1

[当我尝试在终端上执行普通的sshpass命令时,它可以正常工作。这是我正在使用的命令:

sshpass -p 'Rito$pass@20' ssh '[email protected]'

[当我尝试通过创建别名使用同一命令时,它正在响应Permission denied, please try again.

我已经在.profile文件中创建了别名。这是我的别名的外观:

alias myalias="sshpass -p 'Rito$pass@20' ssh [email protected]"

任何人都可以解释为什么在尝试使用别名时为什么出现权限被拒绝的错误,以及如何解决它?

更新:基于@pynexj注释,我运行了命令set -x; myalias; set +x,发现密码中未考虑字符$。我的密码是Rito$pass@20,但它只考虑了Rito@20,即包括$之后的所有字符都将被忽略,直到@字符为止。

ssh terminal ssh-tunnel sshpass
1个回答
0
投票

根据评论,密码中包含$字符。因此,要解决此问题,您需要转义$字符。

例如,如果密码为pa$$word

alias myalias="sshpass -p 'pa\$\$word' ssh [email protected]"
© www.soinside.com 2019 - 2024. All rights reserved.