解决:远程服务器(阿里云)和本地文件传输
服务器:linux(centos7)
本地:Windows 10
方案一:Use SSH Secure Shell Client
Success!
下载 SSH/SFTP Secure Shell 3.2.9填写端口号和 host ,直接用登陆服务器的账户登录就好。
作者按: 虽然软件看起来不时尚,不过用着舒服、解决问题!
发现新版客户端跟 windows 10 不那么兼容,综合看来这个方案并不十分友好。
方案二:在服务器搭建 FTP server
Failed ?
方法一: 安装 vsftpd
安装
yum install vsftpd
修改 vsftpd 相关配置
/etc/vsftpd/vsftpd.conf
添加用户
修改ftp目录及其父目录权限
修改防火墙的接口限制,iptables 或其他
修改 SELinux(Security-Enhanced Linux) 安全子系统,禁用之
遇到问题
登录失败
修改防火墙端口控制
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
vi /etc/vsftpd.conf
添加allow_writeable_chroot=YES
500 OOPS: cannot change directory
修改ftp目录及其父目录权限
chmod 755 /root/ftp
无法读取目录
状态: 已登录
状态: 读取目录列表…
状态: 服务器发回了不可路由的地址。被动模式失败。
调查了半天也没解决,在本地虚拟机的 centos 上可以顺利传输。关闭防火墙后问题同样没能解决。怀疑是阿里云为了安全,对数据传输端口做了限制。
方法二: 用 Python + pyftbdlib 搭建 FTP 服务器
安装配置服务器,执行程序代码:pip install pyftpdlib
# coding:utf-8#----------------------------# Author: Kun Liu # Start date: -03-28 # Latest edit: -03-28#=============================from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionfrom __future__ import unicode_literalsimport loggingfrom pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHandlerfrom pyftpdlib.servers import FTPServerLOG_FILE = 'FTP_LOG.txt'CONTROAL_PORT = 21USER_NAME = "test"PASSWD = "111111"import osUSER_DIR = os.getcwd()ANONY_DIR = os.path.join(USER_DIR, 'anonymous')if not os.path.exists(ANONY_DIR):os.mkdir(ANONY_DIR)#新建一个用户组authorizer = DummyAuthorizer()#将用户名,密码,指定目录,权限 添加到里面authorizer.add_user(USER_NAME, PASSWD, USER_DIR, perm="elr")#adfmw#这个是添加匿名用户,任何人都可以访问,如果去掉的话,需要输入用户名和密码,可以自己尝试authorizer.add_anonymous(ANONY_DIR)handler = FTPHandlerhandler.authorizer = authorizer# Define a customized banner (string returned when client connects)handler.banner = "Wellcome Trenders! It's a FTP server powered by Pyftpdlib."def main():# 日志设置# logging.basicConfig(filename=LOG_FILE, level=logging.INFO)#开启服务器server = FTPServer(("0.0.0.0", CONTROAL_PORT), handler)server.serve_forever()if __name__ == '__main__':main()
同样遇到无法读取目录的问题。
方案三
参考: /articles/68550
WinSCP
存在的问题
windows环境下,包含中文路径会导致错误