我无法使用tcl
脚本中的ssh访问远程服务器,而该脚本在密码提示时卡住了
exec ssh foo@barRemote "ls /tmp\;exit\;"
虽然我能够使用bash中的shell脚本进行日志记录并且没有遇到密码提示(我们已经设置了公钥和私钥)
答案 0 :(得分:1)
我刚试过一台服务器,我知道我已经正确设置了基于密钥的访问权限并且有效。那 - 以及它在终端上为你工作的事实 - 意味着我怀疑问题是你的脚本是在一个没有被授予访问密钥的上下文中运行的(例如,来自cron)。在最简单的情况下(肯定是不是在cron内部!),修复是在ssh-agent
内运行整个脚本:
ssh-agent tclsh yourscript.tcl
(设置一个环境变量,让劣质ssh
使用它所需的密钥。)