我有一个shell脚本,它正在执行一些重命名和存档步骤。我添加了sftp命令来复制多个文件。但是当我尝试通过putty登录远程机器时,它会要求确认,例如您确定要继续连接(是/否)?。我需要输入是。但由于这是通过脚本完成的,我不知道该怎么做。下面是我正在使用的脚本
cd <File Source Location>
sftp user1@remoteserver
sftp> cd <target location to be copied>
sftp> mput *.gz
quit
如何在执行sftp user1@remoteserver
后在上面的代码中传递yes。
非常感谢任何帮助。
答案 0 :(得分:1)
我认为你正试图解决错误的问题。
sftp
要求您确认,因为它还不知道主机的密钥。因此,您需要将其添加到known_hosts
文件中,如此
ssh-keyscan -H remoteserver >> ~/.ssh/known_hosts
我建议使用scp
命令代替sftp
,因为它会在一步中完成所有操作。
scp somewhere/*.gz user1@remoteserver:somewhere/else
如果由于某种原因你不想这样做。你可以考虑一个非常不安全的命令
sftp -o StrictHostKeyChecking=no user1@remoteserver
通过使用上面的命令你很容易受到中间人攻击,你已经收到警告。