VirtuxBox 4.1.8
Abstract這兩個其實是獨立的問題,ssh port forwording是為了解決每次我要連到某個機構裡的server (B) 時都要透過一個入口ssh server(A),導致我要從B copy檔案出來時一定要先copy到A再copy回我的電腦,因此ssh port forwording可以讓我「表面上」直接連到B (實際上還是有透過A) 然後可直接用rsync/scp將檔案抓出來。順便介紹Ubuntu+VirtualBox是因為我的環境是Windows XP根本沒有linux shell …..(WTF)
ssh port forwarding先假設你已經有一個完整一linux環境,則步驟如下:
- 開一個shell執行以下指令,接著輸入你在A.kerker.tw的密碼即可。該指令將你本機端的port 12000透過A.kerker.tw指派到B.kerker.tw。輸入密碼後畫面會停住,這是正常的。
- > ssh –l [username] –L 12000:B.kerker.tw:22 –N A.kerker.tw
- 開另一個shell,執行以下指令,再輸入B.kerker.tw密碼,即可用ssh登入到B.kerker.tw。
- > ssh –p12000 [user_in_B]@localhost
- 如何要傳檔案,可利用rsync指令。
- > rsync –e “ssh –p12000” [user_in_B]@localhost:remote_file local_file
shared folder (Ubuntu as a client of VirtualBox)網路上很多教學,其實過程很簡單,不過我還是在一個地方卡關……
- 安裝VirtualBox
- 開VirtualBox然後安裝Ubuntu (你要先有Ubuntu的iso或光碟片)
- VirutalBox->Device->Install Guest Additions,執行後ubuntu那邊會有安裝畫面,憑直覺裝完就對了。
- VirtualBox管理員->點選你的作業系統->設定值->共用資料夾->右邊有個「+」記號的目錄點下去新增共用目錄->指定資料夾路徑->記得把「自動掛載」跟「永久性」打勾。
- 編輯/etc/group,將你的user name加到vboxsf這個group裡。
- sudo apt-get install openssh-server
- VirtualBox->裝置->網路卡->連接埠轉送->新增一個規則->主機(2222)+客體(22)
/media/sf_xxxx
裡面。注意!有sf_開頭後面才是接你原本共享的目錄名稱哦!這是我一直沒發現的…
20120612 : 後來發現在windows下可以用putty完成ssh port forwarding的任務,所以上面的教學就當作是在Linux下的方法吧!至於怎麼利用 putty 呢?目前已知有兩種方法:
2. 利用plink.exe (一支由putty作者提供的程式),在console下執行,搭配最前面所教的指令參數。
目前我用方法1.來連vnc,因為MacOS Lion內建的VNC Server是沒有編碼的,所以我將localhost:2222指定到Mac的5900 (for VNC),先開putty透過ssh連上Mac並同時做好port forwarding後,再RealVNC Client連線時輸入 localhost:2222 就可以連上了。