我想做这样的事情
ssh [email protected] ./remote_script.sh
Remote_script.sh 的内容
#!/bin/bash
hg pull
这个例子比我实际做的要简单得多。我知道我可以直接通过 ssh 传递 shell 命令,但假设我想运行远程脚本。我也知道 Mercurial 有钩子,但也请忽略这一点,为了简洁起见,我在这里仅使用 Mercurial 作为示例。
这是我期望发生的情况,提示用户输入密码:
[email protected] password:
这是输出:
ssh [email protected] ./remote_script.sh
remote: Permission denied, please try again.
remote: Permission denied, please try again.
remote: Permission denied (publickey,password).
abort: no suitable response from remote hg!
远程 shell 会话似乎正在向密码输入提示输入某些内容,并在 3 次自动尝试后失败。我真的很希望能够提示到达我的本地 shell 会话。也许那是不可能的。
我不想向存储库提供远程服务器密钥身份验证,我希望每次都提示用户。有什么办法可以做到这一点吗?
答案1
很难从这篇文章中弄清楚到底发生了什么。 hg 命令是否打印密码提示(我对 hg 不熟悉)?
我建议您尝试将-t
选项添加到 ssh:
ssh -t [email protected] ./remote_script.sh