【发布时间】:2014-06-09 04:06:47
【问题描述】:
我是 shell 脚本的新手,我想从 linux 远程服务器下载一些文件,所以我该如何继续。远程服务器是基于 ssh 的。
【问题讨论】:
我是 shell 脚本的新手,我想从 linux 远程服务器下载一些文件,所以我该如何继续。远程服务器是基于 ssh 的。
【问题讨论】:
首先,ftp 服务是从远程服务器获取文件的更好选择。
如果只有 sshd 服务可用,那么您可以使用基于 ssh 的命令 sftp 或 scp。
但是,使用sftp 或scp 命令将调用交互式密码提示,这是shell 脚本中的问题--> 您必须向expect 命令寻求帮助。见Automate scp file transfer using a shell script。
除了expect,你还可以在两台服务器之间建立信任关系,那么你就可以使用scp,不用密码。见http://www.linuxproblem.org/art_9.html
【讨论】:
FTP 不是比SFTP 更好的选择,你为什么这么说? FTP must die! 2) 可以(并且应该)使用公钥身份验证避免使用密码(FTP-帐户通常也受密码保护);将expect 与SSH 一起使用是不好的建议。