我正在尝试在 Debian 8 下从命令行连接到我的 Filezilla 服务器(ms windows 主机)。
我搜索了文档并看到大量教程说使用凭据在一行中连接到服务器的一种好方法是:
ftp -in ftp://myusername:[email protected]
当我运行此命令时,ftp 无法连接,并且出现以下错误:
ftp: ftp://myusername:[email protected]: Name or service not known
有人知道这里出了什么问题吗?我必须指定任何端口或其他什么吗? (服务器监听21端口)
我的目标是编写一个简短的 bash 脚本来上传特定文件。我只错过了连接部分:\
谢谢 !
答案1
我以前一直写ftp脚本!非常古老的学校。正如这里其他人所误导的那样,FTP 被设计为作为批处理脚本工作,仅仅因为它过时并不意味着它不起作用。 Ftp 和 vsftp 非常不安全,因为您的 ID/密码是通过网络以明文形式发送的。这就是人们使用 sftp 或 scp(使用 SSH 协议)的原因。但是,如果您的环境不关心网络上的明文密码,例如,它是一个封闭的网络,则 ftp 是一个有效的选项,并且比使用 ssh 的服务更容易设置和维护。
这是下面的示例脚本:
#!/bin/bash ftp -nv myservernameorip << EOF quote USER myuserid quote PASS mypasswd binary ls put some_files get some_files quit EOF
只需将 'myservernameorip'、'myuserid' 和 'mypasswd' 替换为真实主机名/IP 和帐户信息即可;以及使用真实文件路径更改ls
,put
和/或get
命令“some_files”。