使用Pycharm和跳板機 連接內網服務器

轉載:https://www.jianshu.com/p/8f262bc444f0

最近遇到一個問題,實驗室服務器僅限內網訪問,同時實驗室也提供了一個跳板機,可以先ssh到跳板機再從跳板機ssh到內網服務器。然而這種方式不方便傳輸文件,也沒法用pycharm進行自動同步代碼或者遠程調試。本篇文章給出了一個該類問題的解決方案,即通過ssh隧道的方式,用Pycharm通過跳板機連接內網服務器。

注:轉載請註明出處,歡迎關注深度學習分享知乎專欄

步驟一 配置免密登錄

配置跳板機和服務器的免密登錄,實現方式有多,這裏只列出了一種方式。

  • 在本地配置

    vim ~/.ssh/config
    

    在config文件中輸入以下內容

    Host *
        ControlPersist yes
        ControlMaster auto
        ControlPath ~/.ssh/master-%r@%h:%p
    

    完成配置後在本地登錄一次跳板機.

  • 登錄跳板機,並在跳板機配置

    vim ~/.ssh/config
    

    在config文件中輸入以下內容

    Host *
        ControlPersist yes
        ControlMaster auto
        ControlPath ~/.ssh/master-%r@%h:%p
    

    完成配置後在跳板機上登錄一次內網服務器。

步驟二 設置ssh隧道

在本地命令行輸入如下命令即可:

ssh -N -f -L 6000:<內網服務器ip>:22 -p <跳板機端口> username@<跳板機ip> -o TCPKeepAlive=yes

上述命令各個參數的含義如下:
-N 告訴SSH客戶端,這個連接不需要執行任何命令。僅僅做端口轉發
-f 告訴SSH客戶端在後臺運行
-L 做本地映射端口
關於SSH建立管道參考

此時,登錄本地的6000端口就相當於登錄內網服務器了。

ssh -p 6000 服務器用戶名@localhost

步驟三

配置pycharm
這裏只需配置ip爲127.0.0.1, 端口爲6000,並輸入內網服務器的賬號密碼即可看到服務器安裝的python.
具體配置方式參考

Reference

關於SSH建立管道
https://www.cnblogs.com/fbwfbi/p/3702896.html

PyCharm 配置遠程python解釋器和在本地修改服務器代碼
https://www.cnblogs.com/xiongmao-cpp/p/7856596.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章