<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 - 遠程辦公利器

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

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

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

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

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

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

    Feedback

    # re: ssh+tsocks - 遠程辦公利器  回復  更多評論   

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

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

    # re: ssh+tsocks - 遠程辦公利器  回復  更多評論   

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

    # re: ssh+tsocks - 遠程辦公利器  回復  更多評論   

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

    假設有 ssh_server, svn_server

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

    用下面的命令,訪問本地3690,都相當 *從ssh_server* 訪問svn_server的3690

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

    然后把本機當成svn服務器就行了

    $ svn checkout svn://localhost/project1

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

    # re: ssh+tsocks - 遠程辦公利器  回復  更多評論   

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

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

    # re: ssh+tsocks - 遠程辦公利器  回復  更多評論   

    2011-02-10 14:14 by laogao
    @Ian Yang
    用-L還有個問題,那就是我本地的svn sandbox已經(jīng)自帶了資源庫IP地址等信息,本地端口轉發(fā)意味著我還要做一次svn switch --relocate,回到公司還得再改回來,這也是件麻煩事兒 ^_^
    主站蜘蛛池模板: 亚洲一日韩欧美中文字幕在线| 亚洲色成人网站WWW永久| 亚洲天堂一区二区三区四区| 久爱免费观看在线网站| 国产亚洲情侣一区二区无码AV| 免费一级毛suv好看的国产网站| 亚洲av中文无码| 一个人看的www视频免费在线观看| 亚洲AⅤ无码一区二区三区在线 | 免费高清资源黄网站在线观看| 亚洲精品白色在线发布| 久久久久久久91精品免费观看| 亚洲最大天堂无码精品区| 日韩免费视频在线观看| 美女被爆羞羞网站免费| 亚洲日产韩国一二三四区| 久久久久久久99精品免费观看| 亚洲视屏在线观看| 成人男女网18免费视频| 免费一级毛片在线播放放视频| 伊人久久大香线蕉亚洲五月天| 美女视频黄的免费视频网页| 亚洲欧洲日产国码www| 天天干在线免费视频| 日韩精品视频在线观看免费| 亚洲AV无码不卡在线播放| 69成人免费视频| 日韩在线视频免费| 亚洲男人天堂av| 日本免费一区二区三区最新| 中出五十路免费视频| 亚洲精品熟女国产| 四虎影视永久免费视频观看| 中文字幕无线码中文字幕免费| 亚洲国产亚洲综合在线尤物| 国产成人免费手机在线观看视频 | 亚洲国产婷婷香蕉久久久久久| 中文字幕乱码系列免费| 亚洲中文字幕久久精品无码2021| 国产成人免费爽爽爽视频| 精品成人一区二区三区免费视频|