尝试将 sshpass 命令与别名一起使用时,得到权限被拒绝的响应
When trying to use sshpass command with alias, getting Permission denied response
当我尝试在我的终端中执行正常的 sshpass
命令时,它工作正常。这是我正在使用的命令:
sshpass -p 'Rito$pass@20' ssh 'user.name@mysite.com'
当我尝试通过创建别名来使用同一命令时,它正在响应 Permission denied, please try again.
我在 .profile
文件中创建了别名。这是我的别名的样子:
alias myalias="sshpass -p 'Rito$pass@20' ssh user.name@mysite.com"
任何人都可以解释为什么我在尝试使用别名时收到权限被拒绝的错误,以及如何解决它?
============================================= ====================
更新:
基于@pynexj 评论我运行 命令set -x; myalias; set +x
发现密码中没有考虑字符post $
。我的密码是 Rito$pass@20
但它只考虑 Rito@20
,即包括 $ 之后的所有字符都将被忽略,直到 @ 字符。
根据评论,密码中有一个 $
字符。所以要修复你需要转义 $
字符。
例如,如果密码是 pa$$word
:
alias myalias="sshpass -p 'pa$$word' ssh user.name@mysite.com"
当我尝试在我的终端中执行正常的 sshpass
命令时,它工作正常。这是我正在使用的命令:
sshpass -p 'Rito$pass@20' ssh 'user.name@mysite.com'
当我尝试通过创建别名来使用同一命令时,它正在响应 Permission denied, please try again.
我在 .profile
文件中创建了别名。这是我的别名的样子:
alias myalias="sshpass -p 'Rito$pass@20' ssh user.name@mysite.com"
任何人都可以解释为什么我在尝试使用别名时收到权限被拒绝的错误,以及如何解决它?
============================================= ====================
更新:
基于@pynexj 评论我运行 命令set -x; myalias; set +x
发现密码中没有考虑字符post $
。我的密码是 Rito$pass@20
但它只考虑 Rito@20
,即包括 $ 之后的所有字符都将被忽略,直到 @ 字符。
根据评论,密码中有一个 $
字符。所以要修复你需要转义 $
字符。
例如,如果密码是 pa$$word
:
alias myalias="sshpass -p 'pa$$word' ssh user.name@mysite.com"