2009-12-12 20:49:15 +0000 2009-12-12 20:49:15 +0000
30
30

如何用FTP或SSH从命令行上传文件?

我以前从来没有做过这个,我正在创建一个bash shell脚本来帮我做这个。我也将通过ssh连接来做一些事情(我已经知道如何做)。所以也许有办法通过ssh上传文件,这样我就可以在一个连接中完成所有的工作?

如何才能做到这一点?

#!/bin/sh

cd ./files-to-upload
#upload the files

答案 (7)

56
56
56
2009-12-12 20:53:32 +0000

您可以使用 scp 复制到远程机器。

scp <file to upload> <username>@<hostname>:<destination path>
6
6
6
2009-12-12 20:57:38 +0000

你可能正在寻找SCP或类似的东西。

#!/bin/bash

cd ./files-to-upload
scp * user@host:/path/to/upload/files/to

当然这必须根据你的喜好进行调整.用你的真实信息代替user@host。你会被提示上传密码。

4
4
4
2009-12-16 12:08:36 +0000

如果你真的必须使用ssh(而不是scp),你可以这样做。

for filename in *; do
  cat $filename | ssh user@host "cd /path/to/upload/files/to; cat - > $filename"
done

但普通的scp(像tangens建议)是最好的.

1
1
1
2009-12-13 07:15:17 +0000

scp是比较好的答案,因为它会通过SSH加密。

不过,如果你想通过标准的ftp来做,可以看看ncftpput。它是专门为上传文件而设计的。

NAME ncftpput - 脚本的互联网文件传输程序

SYNOPSIS ncftpput [options] remote-host remote-directory local-files…

0
0
0
2015-09-04 18:22:34 +0000

当你使用 scp (安全拷贝)命令时,它会连接到客户端,如果你还没有为主机设备保存指纹,它会要求你输入主机密码,否则它会自动连接到主机,我相信。

0
0
0
2009-12-16 12:43:45 +0000

curl 是一个很好的程序,可以处理多个协议。

0
0
0
2019-02-21 08:22:05 +0000

对于 ec2 实例,你还必须传递 .pem 文件,

$scp -i ~/Desktop/amazon.pem ~/Desktop/file.zip ubuntu@ec2-54-166-128-20.compute-1.amazonaws.com:~/data/
```。