1. 程式人生 > >如何向Azure虛擬機器傳檔案

如何向Azure虛擬機器傳檔案

1.通過遠端桌面的複製、貼上

就是Ctrl-C/Ctrl-V,只對Windows有效。其原理就是本地和遠端的剪貼簿是共享的

我們可能知道在本地和遠端桌面間,可以用複製貼上傳遞文字。實際上,檔案拷貝也是可以的。比如,首先在本地進行檔案複製

然後切換到遠端桌面,在目標目錄下執行貼上

這樣就拷貝過去了。反向拷貝也一樣簡單

這種方法最省事,不用任何配置。不過這種方式不能拷貝大量的檔案

2.通過遠端桌面的本地資源訪問

最簡單的方式是通過遠端桌面的本地資源訪問功能。在虛擬機器頁底部點選“連線”後,瀏覽器會提示下載rdp檔案。

不要直接開啟該檔案,而是選擇另存,將其存在本地

對於下載的RDP檔案,不要直接開啟,而是右鍵,選擇Edit

然後在本地資源頁中,點選More,然後選中本地要訪問的磁碟

這樣登入虛擬機器後,就可以在資源管理器裡面看到本地磁碟,直接進行檔案拷貝。

這種訪問還比較方便,不過缺點是受網路影響較大。如果檔案較大或者較多,效率比較低

3.通過Blob儲存中轉

Azure儲存提供了近乎無限的儲存空間,我們可以把要上傳的檔案先上傳到Blob儲存,然後再從Azure的各虛擬機器下載

Blob的上傳下載需要Blob工具,比如Azure Storage Explorer, CloudXplorer等,具體可參考http://blog.csdn.net/shaunfang/article/details/8647557

在本地和Azure虛擬機器上,都需要安裝這個工具

4.通過FTP

用FTP看似是個好主意,大家都會用。但這裡存在一個問題,就是Azure的安全設計。Azure的虛擬機器全部位於防火牆後,所有的外部訪問均需事先定義埠對映。對於通常的Web訪問來說,不是什麼問題,因為我們會開啟80埠。但是FTP就有點麻煩了。

首先,我們需要了解下FTP的工作原理。FTP基於兩個埠運作,21埠是命令埠,用於接受客戶連線,此外還有一個埠專門用於傳資料。這個埠的確定有兩種方式,分別是Passive和Active。其中Active的意思是,客戶端主動監聽一個埠,然後讓伺服器反向連線至該埠進行資料傳遞。這對於大部分場景不可用,因為客戶端往往在內網,內網開的埠外網是訪問不了的。於是FTP預設用Passive模式,即伺服器隨機開一個埠,告訴客戶端,然後讓客戶端連線至該埠傳資料。由於這個埠是隨機建立的,自然無法在Azure上提前定義埠對映,FTP也就無法運作了。

那麼是不是FTP就沒法用了?也不是。FTP伺服器都支援指定資料埠範圍,如果我們限定資料埠在一個很小的範圍內,比如30000-30004,然後我們在Azure上把這些埠都定義了,那麼就可以解決FTP的防火牆穿越問題。

下面我們實際測試下,首先我們在一臺CentOS上配置VsFtp服務,並在Azure上定義21埠,再用FTP客戶端訪問

我們發現客戶端傳送PASV命令後,伺服器回傳了一個地址100,80,34,101,195,198,這個字串前4個數字代表IP地址,後兩個是埠,而且,每個數字最大255,所以實際的埠號是195*256+198=50118,而IP地址是100.80.34.101,這是虛擬機器的內部IP地址。顯然,內部IP是無法訪問的,於是客戶端馬上嘗試連線外部IP,但由於50118埠沒有在Azure防火牆上定義,自然無法連通。

接下來,我們修改vsftp配置,在/etc/vsftpd/vsftpd.conf末尾新增

pasv_min_port=30000
pasv_max_port=30001
表示資料埠採用30000-30001,重啟ftp服務

然後進入Azure門戶,為這兩個埠定義埠對映2013年6月,Azure對埠進行了升級,從門戶上無法定義動態埠了(Azure會監測埠狀態,如果埠沒開則不會轉發請求)。只能通過指令碼定義,具體方法是,在客戶端執行Azure Powershell

Get-AzureVM -Servicename "xxx" -Name "xxx" | Add-AzureEndpoint -Name "FTP-Dynamic-1" -LocalPort 30000 -PublicPort 30000 | Update-AzureVM

Get-AzureVM -Servicename "xxx" -Name "xxx" | Add-AzureEndpoint -Name "FTP-Dynamic-2" -LocalPort 30001 -PublicPort 30001 | Update-AzureVM

執行成功後,可以在門後上看到這些埠

再次使用ftp客戶端連線

工作正常了!可見客戶端正是用30001訪問伺服器端資料埠

Windows上配置IISFTP的方法可以參考http://fabriccontroller.net/blog/posts/passive-ftp-and-dynamic-ports-in-iis8-and-windows-azure-virtual-machines/

5. 通過SCP

這個只對Linux有效。由於SCP只需要一個埠,所以不存在FTP動態埠的問題。SCP的埠號跟SSH一樣,都是22。Azure在部署linux虛擬機器的時候會自動定義該埠號。所以,部署Linux後,直接用SCP客戶端訪問該虛擬機器即可

相關推薦

如何Azure虛擬機器檔案

1.通過遠端桌面的複製、貼上 就是Ctrl-C/Ctrl-V,只對Windows有效。其原理就是本地和遠端的剪貼簿是共享的 我們可能知道在本地和遠端桌面間,可以用複製貼上傳遞文字。實際上,檔案拷貝也是可以的。比如,首先在本地進行檔案複製 然後切換到遠端桌面,在目標目錄下執

ubuntu虛擬機器檔案到當前主機

Ubuntu14.04虛擬機器和宿主機(win7)之間的檔案傳輸 (FTP)篇 首先當然是在虛擬機器上按FTP伺服器 sudo apt-get install vsftpd  新建"/home/uftp"目錄作為使用者主目錄 開啟"終端視窗",輸入"sudo mkdir

Windows系統和Linux虛擬機器之間檔案和下載

方法一:使用xshell(簡單) 用X shell 傳輸檔案 ① xshell是非常好用的工具,但是想在window與linux之間傳輸檔案。   很簡單,就是在linux中安裝lrzsz,安裝即

如何在VMware中安裝軟體(虛擬機器傳輸檔案或文字)

一、直接在虛擬機器裡面下載並且安裝二、拖動法(跟把檔案複製到別的資料夾一樣操作,拖到虛擬機器桌面上)三、複製貼上法(限制條件同上)四、建立共享資料夾限制條件:依然需要安裝VMware tools且系統需要支援(一般系統都可以)過程:(啟動情況下進行)勾選選項(推薦使用)新增資

Kubernetes 1.12公佈:Kubelet TLS Bootstrap與Azure虛擬機器規模集(VMSS)迎來通用版本號

今天,我們非常高興地推出Kubernetes 1.12版本號,這也是我們今年以來公佈的第三個版本號。 此次公佈繼續關注內部改進與功能完好。旨在進一步提升與Kubernetes對接時的穩定性。 這一最新版本號亦在安全性與Azure等關鍵功能上做出增

物理機與遠端伺服器或者虛擬機器實現檔案複製(SCP)

1.使用SCP命令實現 參考:https://blog.csdn.net/yhblog/article/details/83927141 2.使用filezilla工具實現檔案複製 注:使用filezilla傳輸前需要填寫遠端伺服器ip,使用者名稱,密碼(填寫使用者名稱最好填寫要用

使用TCP協議,分別編寫服務端和客戶端,要求客戶端服務端上檔案。(使用字元流完成)

package Test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.IOException; import java.io

jvm虛擬機器 class檔案常量池與執行時常量池

jvm虛擬機器 class檔案常量池與執行時常量池 class檔案常量池 java檔案編譯後生成class檔案,裡面存有兩部分內容: 類的版本、欄位、方法、介面等描述資訊。(欄位是指我們平時在介面或類裡宣告的各種變數 int a 等) 常量池:存放編譯期生成的字

Kubernetes 1.12釋出:Kubelet TLS Bootstrap與Azure虛擬機器規模集(VMSS)迎來通用版本

今天,我們很高興地推出Kubernetes 1.12版本,這也是我們今年以來發布的第三個版本!此

各種版本作業系統的虛擬機器映象檔案

                VMware 現在知道的人應該不少了,我從3.0的時代開始玩,現在這個軟體是越來越強大了。已經成為虛擬化領域的領頭羊了。曾經一口氣做過Window98、me、2000 pro、2000 server、XP Home、XP Pro、英文版各個版本的原始安裝版本。並且燒錄DVD,供

kvm熱新增磁碟,且停機重啟kvm虛擬機器檔案資訊不丟失

筆者centos7.5系統參考:http://www.cnblogs.com/pigdragon/p/9506771.html#宿主機上建立一個磁碟檔案qemu-img create -f qcow2 test2_add01.qcow2 5G#宿主機上熱新增該磁碟到對應虛擬主機中去virsh attach-d

linux虛擬機器 複製檔案到主機-------發郵件^_^

在linux虛擬機器中寫好了程式碼,如何複製到主機中呢。 可以使用發郵件的方法: mail  -s    "server.cpp"    [email protected]    -a   /home/name/server.cpp              

KVM 編輯虛擬機器配置檔案(安裝階段)

 在virt-install之後 ,還是遇到許多小問題 ,硬碟識別不到,重新配置之後 發現又cdrom識別不到,  基本上在安裝階段,問題的發生主要是這兩個部分   <disk tyep='file device='disk''>   <driver na

Xshell 5+lrzsz實現Windows客戶端CentOS伺服器上檔案

安裝lrzsz 在centost的命令列上執行命令: yum install lrzsz 安裝完成後,可以進入需要上傳檔案的目錄,然後執行命令: rz 這時會彈出一個上傳檔案的視窗,選擇需要上傳的檔案即可上傳。

Linux下運用虛擬機器進行檔案操作

檔案許可權 檔案許可權存在的意義 系統最底層安全設定方法之一 保證檔案可以被可用的使用者做相應的操作 檔案許可權的檢視 ls -l file ls -ld dir ll file ll -d dir -l用來檢視檔案 -d用來檢視目錄 檔案許可權的讀取 -

利用xShell實現windows與虛擬機器檔案交換

軟體版本: linux:ubuntu1204 xshell:5.0.0.24 操作方式: 1.在Linux主機上,安裝上傳下載工具包rz及sz sudo apt-get install lrzsz 2.使用我們常用的Xshell登入工具,新建立一個遠

Windows下使用xShell遠端Linux上檔案或下載檔案

      對於經常使用Linux系統的人員來說,少不了將本地的檔案上傳到伺服器或者從伺服器上下載檔案到本地, rz / sz命令很方便的幫我們實現了這個功能,但是很多Linux系統初始並沒有這兩個命令。今天,我們就簡單 的講解一下如何安裝和使用rz、sz命令。 1.軟體

VMware要不要裝在固態SSD上,虛擬機器系統檔案要不要放固態SSD上,虛擬機器傷不傷固態SSD

先說結論:VMware建議裝在固態上執行快,系統檔案最好放在機械硬碟上(有錢除外),虛擬機器會傷固態。   今天在學淘淘商城中的搜尋專案,克隆了一個虛擬機器,這個虛擬機器開機賊慢,令人無法忍受,我覺得我再也受不了我那坑爹的HHD了。我筆記本上有兩塊硬碟,一塊是東芝的HHD還有一塊是國產的SSD,HHD上放的

如何Genymotion虛擬機器匯入圖片或者其他資料--利用Android Studio(二)

1.首先利用Android Studio執行Genymotion 2.點選綠色機器人 3.選中Sdcard資料夾,然後單擊匯入按鈕 4.選中需要匯入的圖片,單擊開啟 5.開啟Genymotion,進入檔案管理器,在列表最後可以看到剛匯入的圖片

Azure虛擬機器上開啟OpenVPN

不少人都想嘗試在雲虛擬機器上開啟VPN服務,從而實現本地到遠端的內網連線。Azure禁用了GRE、PPTP、IPSEC等網路服務,只能允許TCP/UDP協議訪問虛擬機器,這對通常的VPN架設方法產生了一些障礙,唯一的選擇,是採用Windows Azure本身提供的虛擬網路V