1. 程式人生 > >伺服器上檔案上傳下載的各類方法(全)

伺服器上檔案上傳下載的各類方法(全)

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 [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