我试图通过SSH连接检索SVN转储
ssh user@host "sudo -u $repo_owner svnadmin dump $repo_path"
根据我在过去15分钟内是否已经使用sudo ,我有或没有input密码。 问题是当我不得不input我的密码时,它会在terminal显示出来。 所以,我尝试了类似的东西
ssh -t #...
打开一个伪terminal。 现在,我有问题,我没有收到提示input密码。 该脚本停止并等待用户input,而不告诉用户他应该input他的密码。
有没有办法确定脚本调用的程序是否等待用户input? 更重要的是,在其他程序想要从标准input读取某些内容之前,我可以向标准输出或标准错误输出写入内容。 我的意思是在实际读取完成之前调用某种钩子方法。
– t6d
在sudoers文件中使用$repo_owner ALL = NOPASSWD: /the/path/to/svnadmin ,显然你需要改变path和$ repo_owner才能生效。
你可以使用基于密钥的授权为SSH连接,并允许user无需密码启动svnadmin(或包装脚本)
ssh-agent是您的答案,一旦设置正确,您将不会使用密码,也不需要在初始时间重新input密码。