2011-03-11 52 views
1

时候我没有到服务器的SSH访问,我平时下载的东西通过FTP,像这样:使用wget通过FTP下载目录,但不通过密码作为参数

wget -r ftp://user:[email protected]/path/to/dir 

怎么办我保持密码更安全?我不喜欢密码是在命令,但当我尝试这样的事情:

wget -r ftp://[email protected]/path/to/dir 

它不起作用。它给了我“登录不正确”。

+0

安全吗?你试图阻止的攻击场景是什么? – yan 2011-03-11 20:33:40

+0

@yan,在命令中传递密码并不安全。它出现在我的bash历史,我的剧本等等。另外,如果我想改变它,我想在一个地方。 – mattalxndr 2011-03-11 20:36:19

+0

使用ftp不是“安全”的,你并没有定义“安全”对你意味着什么。你想每次都输入吗?你害怕.bash_history缓存吗?它在共享机器上吗? – yan 2011-03-11 20:37:31

回答

2

你可以把你的凭据~/.wgetrc像这样:

ftp_user = user 
ftp_password = pass 

根据您的需求,它也可以use a different location此配置文件:

当初始化时,Wget的会寻找一个全局启动文件/ usr/local/etc/wgetrc默认情况下(或者如果没有安装Wget,则是/ usr/local以外的其他前缀),并从那里读取命令(如果存在)。

然后它会查找用户的文件。如果设置了环境变量WGETRC,则Wget将尝试加载该文件。否则,不会再有进一步的尝试。

如果没有设置WGETRC,Wget会尝试加载$ HOME/.wgetrc。