在shell脚本中拷贝文件到远端服务器,可是每次提示我输入密码,很繁琐。通过公私钥的方法也挺麻烦。使用输入重定向也不行,因为scp直接从tty读取密码。有没有什么解决方法呢?
linux提供了另外一个工具sshpass,可以解决这个问题。按照man sshpass的讲法:
ssh uses direct TTY access to make sure that the password is indeed issued by an interactive keyboard user. Sshpass runs ssh in a dedicated tty, fooling it into thinking it is getting the password from an interactive user.
ssh uses direct TTY access to make sure that the password is indeed issued by an interactive keyboard user. Sshpass runs ssh in a dedicated tty, fooling it into thinking it is getting the password from an interactive user.
使用方法:
sshpass -p "123456" scp list.txt user@10.148.6.99:/path/to/destination
sshpass -p "123456" scp list.txt user@10.148.6.99:/path/to/destination