我正在使用授权密钥将一个文件从一个服务器传到另一个服务器,然而,在密钥不再有效的情况下,脚本被不断地要求输入密码。
我已经尝试过
scp ${user}@$host}:/tmp ./file1 </dev/null
但我还是得到了提示.唯一的一次,当这个工作是如果我运行它的计划外,像这样。
echo "scp ${user}@$host}:/tmp ./file1" | at now
在这种情况下,如果按键不再有效,它就会正确地出错。
但我如何才能创建一个空白的输入流,如果脚本是交互式运行的,它将不会提示用户?
@David:
echo "" | scp ${user}@${host}:/tmp ./file1 </dev/null
所以可能需要一个stty命令来清零tty输入,我现在猜测,根据Kenster的说明。
但我如何才能创建一个空白的输入流,如果脚本是交互式运行的,它将不会提示用户?
与其这样,不如禁用密码验证。
scp -o BatchMode=yes -o PasswordAuthentication=no -o PubkeyAuthentication=yes ...
这可能也会有用
scp ${user}@${host}:/tmp ./file1 /dev/tty0 > /dev/null