0.引言
這篇文章本來應(ying)該從虛(xu)擬(ni)機(ji)的(de)(de)(de)配(pei)(pei)置與(yu)創建開始說(shuo)起,但(dan)是相關內容我已經在之(zhi)前的(de)(de)(de)文章中(zhong)詳細解(jie)(jie)釋了(le),有對linux和(he)CentOS不(bu)了(le)解(jie)(jie)的(de)(de)(de)、對如何(he)創建虛(xu)擬(ni)機(ji)不(bu)清(qing)楚的(de)(de)(de)、如何(he)用xshell工具連接虛(xu)擬(ni)機(ji)整不(bu)明白的(de)(de)(de),可(ke)以(yi)參(can)考本專欄的(de)(de)(de):Linux虛(xu)擬(ni)機(ji)的(de)(de)(de)創建與(yu)配(pei)(pei)網(wang) 系列文章
這里我們使用的工具為:
遠程終端(duan)連接工具:xshell 7、xftp 7
Linux鏡像版本:CentOS 7.6
虛擬機軟件:VitrualBox 6.1
代碼(ma)開(kai)發IDE:Pycharm/IDEA
1.XFTP文件傳輸
在“Linux虛(xu)擬機的創建與(yu)配(pei)網”中(zhong)我分享了如何使用(yong)xshell連接我們(men)(men)本(ben)地(di)的虛(xu)擬機,如果要將(jiang)主機與(yu)虛(xu)擬機的文件(jian)做交互,其實很簡單(dan);同樣我們(men)(men)去xshell官網下(xia)載xftp(免費版即可),有些讀者(zhe)可能跟我一(yi)樣在下(xia)載xshell的時(shi)候(hou)就順便下(xia)載了xftp這樣更(geng)方便(//www.xshell.com/zh/free-for-home-school/)

啟動虛(xu)擬機,打開xshell連接虛(xu)擬機,啟動xftp,即(ji)可傳輸代碼工程文件

2.scp命令
xftp確實比較好用,但是在一些情況下他有著致命的缺點:傳輸過程中可能會造成執行的腳本出現編碼問題導致不能運行
別問我為什么會知道,有一次調了一天的代碼發現是傳輸過程中導致的編碼問題
那有沒有什么安全的方法可以解決這個問題呢?當然有,而且不止一種,我們這里先說比較簡單便捷的一種——scp安全拷貝命令
這個命令其實非常強大,可以用于主機和虛擬機、虛擬機與虛擬機之間的文件傳輸
比如要從主機(ji)傳到虛擬機(ji)我們可(ke)以(yi)進(jin)cmd來執行,只(zhi)要記住虛擬機(ji)的ip地址即可(ke)
相(xiang)關的(de)(de)內容網絡(luo)上其實(shi)很(hen)多,因為scp是一個非常常用的(de)(de)命(ming)令,在這里就(jiu)不多講了;舉一個虛擬機(ji)之間(jian)的(de)(de)例子,僅供(gong)參考:
#將本地虛擬機一個名為slurm的包傳遞到虛擬機192.168.51.67的root目錄下
scp ~/slurm.tar.bz2 192.168.51.67:/root
#如果報錯,可能是沒配置ssh免密登錄,按以下執行即可
ssh-keygen -t rsa
ssh-copy-id root@192.168.51.67
3.IDE使用ssh傳輸工程代碼
終于,到了我們本文的主題。要知道scp雖然強大,但畢竟也需要敲一敲,也沒有UI,不是很貼合實際使用。尤其是工作、學習中的工程代碼通常非常的多,打個包再傳過去再解壓屬實不是很方便,那么我們有沒有簡單易用的方法呢?那就是使用IDE集成的ssh免密登錄來傳輸
正式介(jie)紹(shao)這個方法之前有兩點需(xu)要(yao)說明(ming):
1.這里的方法僅僅針對IntelliJ系列的IDE,其他IDE一般也會有這個功能但是操作方法不一樣;這里我們用python的IDE——pycharm來演示,其實在IDEA(java的IDE)里面(mian)步驟(zou)是一樣的
2.IDE(集成開發環境)、ssh(安全外(wai)殼(ke)協議(yi))的概(gai)念非常(chang)簡單,不清(qing)楚的讀者可(ke)以自行去找一下(xia)資料,在(zai)這里我們就(jiu)不贅述(shu)了,尤其ssh在(zai)開發中會(hui)經常(chang)用到
好了我們正式開始實操:
1.按如下步驟打開配(pei)置

2.新增一個SFTP,這里定義的名字叫做master,可以隨便取(qu)

3.先在(zai)connection按如圖配置地址等(本例為192.168.91.66),path可以(yi)使用autodetect,配置完后test connection看看對不對

4.記得切換到mapping添加映射到虛機的地址,本例這里是root下的/hpc-openapi(一定要配置mapping不然后面可能會出錯)

5.配(pei)置(zhi)完成,就這么簡單,如果需(xu)要(yao)(yao)傳(chuan)輸,右(you)鍵需(xu)要(yao)(yao)傳(chuan)輸的(de)代(dai)碼/文件,按(an)下圖操作即可
