<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    ssh+tsocks - 遠(yuǎn)程辦公利器

    Posted on 2011-02-09 22:37 laogao 閱讀(5377) 評(píng)論(5)  編輯  收藏 所屬分類: Computer Usage

    設(shè)想一下這樣的場(chǎng)景: 你出差在外,或者生病在家,有個(gè)緊急的需求要處理,涉及到數(shù)個(gè)源代碼文件的改動(dòng),你親自修改需要10分鐘,電話和在公司的同伴溝通然后由他/她來修改則需要1小時(shí)。公司svn服務(wù)僅支持svn://協(xié)議,且僅限內(nèi)網(wǎng)訪問,而你只有一個(gè)ssh賬號(hào)可以遠(yuǎn)程登錄到公司某臺(tái)Linux/UNIX服務(wù)器。

    你暗自慶幸,幸好管理員有先見之明,為你留了個(gè)ssh口子,這樣至少你還可以ssh上去通過命令行的方式在服務(wù)器上做svn checkout,vim ...和svn commit。不過如果你認(rèn)為這就是全部,那就太小瞧ssh了。

    ssh有個(gè)命令行參數(shù) -D [地址:]端口,含義是在某個(gè)本地地址的某個(gè)端口上開SOCKS服務(wù)進(jìn)行監(jiān)聽,把這個(gè)端口的數(shù)據(jù)通信以加密形式轉(zhuǎn)發(fā)到ssh的另一端。你說好,我有了一個(gè)SOCKS服務(wù)器,但我又不是要上網(wǎng)走代理,svn也并不天然支持SOCKS啊,有什么用呢? 嗯,這正是tsocks的用武之地,它能透明的讓普通應(yīng)用程序也走SOCKS,安裝方法很簡(jiǎn)單: 主流的Linux發(fā)行版,如Debian、Archlinux等的默認(rèn)軟件倉(cāng)庫(kù)已經(jīng)自帶了tsocks,通常只需要apt-get install或pacman -S即可,Mac OS X下則可以利用MacPorts安裝,然后修改配置文件/etc/tsocks.conf(MacPorts會(huì)安裝到/opt/local/etc目錄),可以在樣本文件tsocks.conf.sample的基礎(chǔ)上修改,通常只要配置server = 127.0.0.1即可,其他都可以默認(rèn)。

    有了這些打底,剩下的就很簡(jiǎn)單了: 首先 ssh -D 1080 -f -N 用戶名@公司服務(wù)器的公網(wǎng)地址 在本機(jī)的1080端口開啟SOCKS服務(wù);然后按照你平時(shí)使用svn的習(xí)慣,只是在命令前加上tsocks,類似這樣: tsocks svn up 或者 tsocks svn ci -m 'blahblahblah' 等等即可,本地的svn sandbox不需要任何修改。

    這個(gè)例子可以說只是冰山一角,不論是ssh還是tsocks都還有更高級(jí)的用法,而這個(gè)通道一旦打通,它的效果就像是簡(jiǎn)化版的VPN,除了ping之類的少數(shù)命令外,幾乎就跟你在公司做各種操作沒有兩樣,所以,發(fā)揮你的想象力吧 :)

    Feedback

    # re: ssh+tsocks - 遠(yuǎn)程辦公利器  回復(fù)  更多評(píng)論   

    2011-02-09 22:56 by 沈覓仁
    這樣是否是太折騰了?
    Tsocks也只是針對(duì)又需要網(wǎng)絡(luò)通信的程序才有用罷了,而且以你的例子來看,也就是方便(穿墻、避開svn訪問權(quán)限)更新Svn。總不能執(zhí)行編輯、編譯吧?
    $ tsocks vim a.cpp
    $ tsocks make all

    另外,有關(guān)遠(yuǎn)程工作(寫代碼、編譯啥的),我還是喜歡GNU screen

    # re: ssh+tsocks - 遠(yuǎn)程辦公利器  回復(fù)  更多評(píng)論   

    2011-02-09 23:12 by laogao
    @沈覓仁
    執(zhí)行編輯和編譯操作通常都是在本地要做的事兒,svn的sandbox在哪里檢出,哪里就適合做這些操作。vpn不也是解決網(wǎng)絡(luò)訪問的問題嗎,呵呵。

    # re: ssh+tsocks - 遠(yuǎn)程辦公利器  回復(fù)  更多評(píng)論   

    2011-02-10 10:58 by Ian Yang
    只是svn服務(wù)器的話用不著動(dòng)態(tài)綁定,用-L做本地端口轉(zhuǎn)發(fā)就好了

    假設(shè)有 ssh_server, svn_server

    ssh_server是你有SSH權(quán)限那臺(tái)服務(wù)器的IP或域名,svn_server是從ssh_server上可以訪問到SVN服務(wù)器的IP或域名,svn_server是在ssh_server上解析的,所以可以用svn_server的內(nèi)網(wǎng)IP

    用下面的命令,訪問本地3690,都相當(dāng) *從ssh_server* 訪問svn_server的3690

    $ ssh -L 3690:svn_server:3690 user@ssh_server

    然后把本機(jī)當(dāng)成svn服務(wù)器就行了

    $ svn checkout svn://localhost/project1

    很久前畫了些圖展示三種端口轉(zhuǎn)發(fā)的作用 http://www.doitian.com/2010/06/illustration-of-ssh-port-forwarding/

    # re: ssh+tsocks - 遠(yuǎn)程辦公利器  回復(fù)  更多評(píng)論   

    2011-02-10 13:35 by laogao
    @Ian Yang
    謝謝你提供的鏈接,很直觀的介紹,只是其中有些文字和圖示不匹配,L、R、D什么的,可能會(huì)讓人看不懂。

    我之所以用-D而不是-L,主要是考慮到需要先后訪問多個(gè)服務(wù)的時(shí)候,每個(gè)服務(wù)都去開個(gè)tunnel顯得不夠靈活,還是-D最省事也更接近VPN的效果一些,呵呵。

    # re: ssh+tsocks - 遠(yuǎn)程辦公利器  回復(fù)  更多評(píng)論   

    2011-02-10 14:14 by laogao
    @Ian Yang
    用-L還有個(gè)問題,那就是我本地的svn sandbox已經(jīng)自帶了資源庫(kù)IP地址等信息,本地端口轉(zhuǎn)發(fā)意味著我還要做一次svn switch --relocate,回到公司還得再改回來,這也是件麻煩事兒 ^_^
    主站蜘蛛池模板: 亚洲国产成人久久三区| 亚洲av永久中文无码精品| av无码免费一区二区三区| 亚洲乱色伦图片区小说| 亚洲伊人久久精品影院| 麻花传媒剧在线mv免费观看| 精品久久久久久亚洲中文字幕| 亚洲AV午夜福利精品一区二区 | 久久精品亚洲精品国产色婷 | 亚洲高清视频免费| 最近中文字幕无免费| 一区二区免费在线观看| 亚洲伊人久久大香线蕉影院| 亚洲白色白色永久观看| 亚洲精品无码久久千人斩| 婷婷综合缴情亚洲狠狠尤物| 69式互添免费视频| 国产午夜精品免费一区二区三区| 亚洲精品无播放器在线播放| 亚洲av乱码一区二区三区按摩| 亚洲欧洲日产国码二区首页 | 女人张开腿给人桶免费视频| 中文成人久久久久影院免费观看| 激情无码亚洲一区二区三区 | 亚洲狠狠ady亚洲精品大秀| 亚洲妇女水蜜桃av网网站| 亚洲乱人伦中文字幕无码| 黄页网站在线视频免费| 亚洲最大无码中文字幕| 综合自拍亚洲综合图不卡区| 亚洲精品午夜无码专区| 亚洲视频一区在线观看| 亚洲欧美日韩中文二区| av网站免费线看| 香港经典a毛片免费观看看| 国产综合免费精品久久久| 精品成在人线AV无码免费看| 在线免费观看国产视频| 成年美女黄网站色大免费视频| 国产四虎免费精品视频| 国产免费爽爽视频免费可以看|