ftp传输gopath - Agzs/geth-pbft-study GitHub Wiki

由于git lfs有带宽限制,邮件提示

Git LFS has been disabled on your personal account Agzs because you’ve exceeded your data plan by at least 150%. Please purchase additional data packs to cover your bandwidth and storage usage:

  https://github.com/account/billing/data/upgrade

Current usage as of 24 Nov 2017 10:41AM UTC:

  Bandwidth: 1.54 GB / 1 GB (154%)
  Storage: 0.8 GB / 1 GB (80%)

运行git lfs,提示

ethtest@aguan-VirtualBox:~$ git lfs clone https://github.com/Agzs/gopath.git
Cloning into 'gopath'...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 10 (delta 0), reused 10 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), done.
Checking connectivity... done.
Git LFS: (0 of 1 files) 0 B / 258.96 MB                                                                             
batch response: This repository is over its data quota. Purchase more data packs to restore access.
error: failed to fetch some objects from 'https://github.com/Agzs/gopath.git/info/lfs'

所以选择使用ftp进行文件传输

搭建FTP服务器

  • 1.安装vsftpd软件包
sudo apt-get update
sudo apt-get install vsftpd
  • 2.打开配置文件
vim /etc/vsftpd.conf
  • 3.修改参数 在末尾添加
#设置ftp根目录的位置,这个文件我们稍后自己创建,路径可自定义
local_root=/home/XXX/myftp

然后创建相应的文件夹

  • 4.重启vsftpd
sudo /etc/init.d/vsftpd restart
  • 5.添加ftp用户

将用户目录设置为我们上面的ftp根目录每,用户名为ftpuser

sudo useradd -d /home/XXX/myftp ftpuser

设置ftpuser的用户密码

sudo passwd ftpuser
  • 6.创建需要的文件,设置文件夹权限

创建用户文件夹,设置权限

mkdir /home/XXX/myftp

权限设置可以根据使用场景来设置,比如下面建两个文件夹,一个download只允许读取,upload允许写和读

chmod 755 /home/XXX/myftp
cd /home/XXX/myftp
mkdir upload
chmod 755 upload
mkdir download
chmod 555 download
  • 7.错误解决 如果登录出现530错误:
vim /etc/pam.d/vsftpd

注释掉#auth required pam_shells.so

客户端登录

命令行执行ftp IP地址登录,如下:

******************************************************************************** 19:22:39
ethtest@aguan-VirtualBox:~$ ftp XXX.XX.XXX.XX
Connected to XXX.XX.XXX.XX.
220 (vsFTPd 3.0.3)
Name (XXX.XX.XXX.XX:ethtest): agzs
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use

发现提示错误,错误原因,可更改模式解决,如下:

ftp> passive mode
Passive mode on.
ftp> ls
227 Entering Passive Mode (XXX,XX,XXX,XX,XX,XX)
150 Here comes the directory listing.
dr-xr-xr-x    2 1000     1000         4096 Dec 01 20:19 download
drwxr-xr-x    2 1000     1000         4096 Dec 01 20:17 upload
226 Directory send OK.

使用lcd设置本地目录,用于不保存ftp下载的文件,如下:

ftp> lcd /home/XXX/testftp/
Local directory now /home/XXX/testftp

打开到文件的存放目录,使用get XXX下载文件,如下:

ftp> cd download
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (XXX,XX,XXX,XX,XX,XX)
150 Here comes the directory listing.
-rw-r--r--    1 0        0        271541359 Dec 01 20:19 gopath.zip
226 Directory send OK.
ftp> get gopath.zip
local: gopath.zip remote: gopath.zip
227 Entering Passive Mode (XXX,XX,XXX,XX,XX,XX)
150 Opening BINARY mode data connection for gopath.zip (271541359 bytes).
226 Transfer complete.
271541359 bytes received in 22.89 secs (11.3152 MB/s)

退出ftp

ftp> exit
221 Goodbye.

参考