伺服器上檔案上傳下載的各類方法(全)
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:
-
開始—> cmd
-
ncftp - u 伺服器名稱 伺服器IP
例如連線伺服器賬戶bidsncftp –u bids 172.20.12.123
-
上傳檔案
To upload folder:put -R path\folder_name
例如上傳資料夾testfeature:
put -R C:\Users\admini\Desktop\testfeature
-
下載檔案
To download folder:get -R path\folder_name
例如 下載資料夾caffe
get -R /home/bids/caffe
-
備註:
不論是上傳還是下載檔案,路徑當中最好不要帶中文,路徑當中也不要有空格。否則都會導致上傳或者下載失敗。
例如: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
8.Remmina遠端客戶端
這個是linux伺服器自帶的遠端連線客戶端,也可連線windows.
開啟Remmina遠端客戶端,點選新建
原文連線:https://blog.csdn.net/jiandanjinxin/article/details/51965883