服务器上文件上传下载的各类方法(全)

时间:2024-03-20 12:48:48

1. ssh

安装SSH Secure Shell Client客户端
下载链接 http://download.csdn.net/detail/jiandanjinxin/9755684
使用方法参考主页

http://www.cnblogs.com/wxjnew/archive/2013/06/05/3118808.html

http://www.cnblogs.com/pingzhanga/p/5126885.html (ssh无法登陆)
导致此问题的原因是ssh升级后,为了安全,默认不再采用原来一些加密算法,我们手工添加进去即可。
补充: (
加密算法大致分两类:
1.对称加密
2.非对称加密

对称加密

对称加密是比较简单的加密算法,但简单并不意味着不保险(有很安全的对称加密算法)。简单意味着功能比较好理解。

对称加密算法用一个**(英文称为Key,是《钥匙》的意思。是在明文转换为密文或将密文转换为明文的算法中输入的参数)来加密信息。
对称加密中“对称”的意思就是指加密和解密使用的是同一个**。因此加密方和解密方都须要知道这个**。

非对称加密

对称加密方法中,我们只用一个**来进行加密和解密。
非对称加密方法中,我们用一个**来进行加密,用另一个**来解密。
因此,非对称加密有两个**:

1.一个是"公钥"(Public Key),用于加密。
2.一个是"私钥"(Private Key),用于解密。
公钥只用来加密。因此,用非对称加密的算法,我们就只能用私钥来解密咯。
我们请求电脑为我们生成这一对**:一个私钥和一个公钥。它们总是成对出现。)

首先,安装openssh
OpenSSH 是 SSH协议的免费开源实现。

sudo apt-get install openssh-server

安装完成后,它会自动开启sshd这个精灵进程Daemon Process,或称为守护进程。是一种运行在后台的特殊进程)。

你也可以手动开启sshd:

sudo service ssh start #Ubuntu系统

要停止的话:

sudo service ssh stop  # Ubuntu系统

如果你要对SSH的配置做修改,可以修改/etc/ssh/ssh_config,然后运行

sudo /etc/init.d/ssh reload

sudo service ssh reload

来使修改生效。

从一台Linux电脑上通过SSH连接

假定你要以用户名user,用SSH协议登录远程服务器host,只要一条简单命令就可以了:

ssh [email protected]

如果本地用户名与远程用户名一致,登录时可以省略用户名:

ssh host

SSH的默认端口是22。也就是说,你的登录请求会被送进远程服务器的22端口。

使用p参数,可以修改这个端口(p是port的缩写,表示“端口”):

ssh -p 250 [email protected]

上面这条命令表示:SSH直接连接远程服务器的250端口。

2. ftp

使用方法二 ,服务器已经配置好。

http://www.cnblogs.com/wxjnew/archive/2013/06/05/3118808.html

开始从windows上传文件到 Linux

cmd
ftp 服务器Ip
put 上传的文件

开始从Linux下载文件到Windows

cmd
ftp 服务器Ip
get 下载的文件

若在windows上无法连接上ftp,可

sudo service vsftpd start #开启vsftpd服务的命令,若不开启,则在windows本地无法进入

备注: 服务器BIDS已经配置完毕,无需下面配置

配置ftp的方法

sudo apt-get install vsftpd   #用apt-get工具安装vsftpd

sudo systemctl status vsftpd  #判断vsftpd是否安装成功
#终端中的●和active (running)一般会是高亮的绿色,说明成功。

netstat -tnl  #检查FTP端口是否已经打开,重点查看有无21端口

或者直接在浏览器里输入“ftp://服务器IP”

sudo service vsftpd start #开启vsftpd服务的命令,若不开启,则在windows本地无法进入ftp
sudo service vsftpd stop #停止vsftpd服务的命令
sudo service vsftpd restart #重启vsftpd服务的命令

修改ftp配置

sudo gedit /etc/vsftpd.conf 

listen=YES                 #服务器监听  
local_enable=YES         # 是否允许本地用户访问  
write_enable=YES         #是否允许上传文件,不开启会报 550 permission denied  
anonymous_enable=NO     #匿名访问允许,默认不要开启,  
#anon_upload_enable=YES  #匿名上传允许,默认是NO  
#anon_mkdir_write_enable=YES   # 匿名创建文件夹允许 
local_umask=022         # FTP上本地的文件权限,默认是077  
dirmessage_enable=YES     # 进入文件夹允许  
xferlog_enable=YES         # ftp 日志记录允许  
connect_from_port_20=YES # 启用20号端口作为数据传送的端口  
xferlog_enable=yes         # **上传和下传的日志  
xferlog_std_format=yes     # 使用标准的日志格式  
ftpd_banner=XXXXX         # 欢迎信息  

修改配置文件后一定要重启服务才能生效

 sudo service vsftpd restart 
 或者
 sudo /etc/init.d/vsftpd restart

卸载 ftp

sudo apt-get remove --purge vsftpd #(--purge 选项表示彻底删除改软件和相关文件)

sftp:安全加密的ftp

ftp命令虽然方便,但是有一个致命缺点:不安全,数据不是加密传输的。任何人,只要连接到同一个网络,可以想办法截取到你传输的数据,或者你的密码。

因此,我们需要请出sftp。sftp是Secure FTP的缩写。表示“安全的FTP”。

sftp也是基于SSH的,所以登录需要用户名和密码,用法如下:

sftp [email protected]

例如:

sftp [email protected]

一旦你输入用户名和密码,连接上之后,其他的操作和ftp是一样的。只不过通信被加密了,更安全。

用man sftp来看看其他可用的命令和参数吧。

上述命令中,我们并没有指定用哪个端口,只指定了ip地址。默认的端口号是22,和SSH一样。我们也可以修改端口号,用-oPort参数。例如:

sftp -oPort 3592 [email protected]

3. putty

http://blog.csdn.net/jiandanjinxin/article/details/50639262

4.安装ncftp:

  1. 开始—> cmd

  2. ncftp - u 服务器名称 服务器IP
    例如连接服务器账户bids

    ncftp –u bids 172.20.12.123
    
  3. 上传文件
    To upload folder:

    put -R path\folder_name 
    

例如上传文件夹testfeature:

put -R C:\Users\admini\Desktop\testfeature
  1. 下载文件
    To download folder:

    get -R path\folder_name 
    

例如 下载文件夹caffe

get -R /home/bids/caffe
  1. 备注:
    不论是上传还是下载文件,路径当中最好不要带中文,路径当中也不要有空格。否则都会导致上传或者下载失败。
    例如:

    put -R C:\Users\admini\Desktop\testfeature\手动特征 
    get -R /home/bids/caffe/模型 
    put -R C:\Users\admini\Desktop\testfeature\several feature 
    get -R /home/bids/caffe/severl model
    

5.scp:网间拷贝

scp是Secure CoPy的缩写,表示“安全拷贝”。用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝,不能跨服务器,而且scp传输是加密的,可能会稍微影响速度。
当远程服务器没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可以轻松达到传输目的。
scp的基本命令格式如下:

scp original_file destination_file

其中:

original_file表示源文件,就是被拷贝的文件。
destination_file表示目标文件,就是拷贝产生的文件。

这两个文件都可以如下方式来表示:

[email protected]:file_name

其中user是登录名,ip是域名(例如google.fr)或ip地址(例如89.231.45.67),file_name是文件路径。不要忘了中间的@号和冒号(:)。

从自己电脑拷贝文件到另一台电脑

scp image.png newname[email protected]:/home/newname/images/

表示把我的电脑中当前文件夹下的image.png文件拷贝到远程电脑(ip地址是89.231.45.67。当然了, 这是假想的ip地址)的用户newname的/home/newname/images目录下,文件名不变(还是image.png,你也可以改名字)。
从另一台电脑拷贝文件到自己电脑

scp [email protected]:/home/newname/images/image.png file_changed_name.png

表示从远程电脑(ip地址是89.231.45.67)的用户newname的/home/newname/images目录下把image.png拷贝到我的电脑中当前文件夹下,并改名为file_changed_name.png(不改名也可以)。
修改端口

上述命令中,我们并没有指定用哪个端口,只指定了ip地址。默认的端口号是22,和SSH一样。我们也可以修改端口号,用-P参数。例如:

scp -P 7821 [email protected]:/home/newname/images/image.png .

表示从远程电脑(ip地址是89.231.45.67,端口7821)的用户newname的/home/newname/images目录下把image.png拷贝到我的电脑中当前文件夹下,名字不变。此处用点号(.)表示当前目录。

6.rsync:同步备份

rsync命令使我们可以同步两个目录,不管这两个目录位于同一台电脑还是不同的电脑(用网络连接)。

rsync应该是最常用于“增量备份”的命令

第一次备份时,需要传输这整整十几个G的内容。但是以后呢,只需要传输新增或修改的内容就够了,不需要再传一遍。这就是rsync的强大之处,所谓“增量备份”的好处。
服务器上文件上传下载的各类方法(全)
备份到同一台电脑的其他目录

rsync -arv Images/ backups/

以上命令,将Images目录下的所有文件备份到backups目录下。

-arv参数分别表示:

-a:保留文件的所有信息,包括权限,修改日期,等
-r:递归调用。表示子目录的所有文件也都包括。
-v:冗余模式。输出详细操作信息。

删除文件

默认地,rsync在同步时并不会删除目标目录的文件。例如,你的源目录(被同步目录)中删除了一个文件,但是用rsync同步时,它并不会删除同步目录中的相同文件。

如果要使rsync也同步删除操作。那么可以这么做:

rsync -arv --delete Images/ backups/

加上 –delete 参数就可以备份到另一台电脑的目录

rsync -arv --delete Images/ [email protected]:backups/

7.WinSCP

Linux 远程管理工具(WinSCP)

8.Remmina远程客户端

这个是linux服务器自带的远程连接客户端,也可连接windows.

打开Remmina远程客户端,点击新建
服务器上文件上传下载的各类方法(全)
服务器上文件上传下载的各类方法(全)

原文连接:https://blog.csdn.net/jiandanjinxin/article/details/51965883