欢迎光临
我们一直在努力

在Pycharm中SSH远程链接服务器

目录

总体目标

第一步:只建一条“这台服务器”的 SSH 连接

1. 打开 SSH 配置界面

2. 新建 SSH 配置

第二步:在“当前项目”中,基于这条 SSH 建远程 Python 解释器

1. 打开项目的 Python 解释器设置(项目(Project): XXX → Python Interpreter)。

2. 添加一个远程解释器&选择远程 Python 路径

第三步:配置代码自动上传(Deployment)

1. 打开 Deployment 设置

2. 新建一个 SFTP 服务器配置

3. 绑定到同一条 SSH

4. 设置本地目录 ↔ 远程目录的映射(Mapping)

打开使用

PS:以后想要设置是否自动上传/自动上传的方式

以后新项目怎么做(复用)

第五步:以后要“清理”某台远程机 / 解释器时怎么做


总体目标

  • 一台服务器:建一条 SSH 连接;
  • 在不同项目里复用它,分别配置远程 Python 解释器。

第一步:只建一条“这台服务器”的 SSH 连接

1. 打开 SSH 配置界面

  • 打开 PyCharm – 顶部菜单:“文件” → “设置…”(mac 是 “PyCharm → 设置…”)。
  • 在左边菜单里找到:“工具” → “SSH 配置”
    • 找不到就用左上角搜索框搜:SSH,点“SSH 配置”。

2. 新建 SSH 配置

  • 点击列表上面/左侧的 + 按钮(添加)。
  • 会弹出一个小窗口,里面填:

  • 填好后,点右边的 “测试连接”(或“Test Connection”)按钮:

    • 如果提示“成功连接”之类,说明 OK 了;

    • 如果失败,看提示:密码错 / 端口错 / IP 错再改。

  • 测试通过后,点 “确定/应用” 保存。

  • 到这里为止: 你已经有 一条可以复用的 SSH 连接,名字类似:xxx@202.119.84.91:50305。 以后不要乱建新的,优先用这条。

    PS:

    如果对 ~/.ssh/config 里面没怎么配置东西,随便勾不勾都行,建议可以先不勾,所有信息都在 PyCharm 里单独填,更好理解。如果在终端里写了很多 SSH 配置(别名、跳板、密钥),勾上会更方便,PyCharm 直接复用那套配置。

    第二步:在“当前项目”中,基于这条 SSH 建远程 Python 解释器

    1. 打开项目的 Python 解释器设置(项目(Project): XXX → Python Interpreter)。

    2. 添加一个远程解释器&选择远程 Python 路径

    (重点:选“已有 SSH 配置”)

    • 选择你刚刚建好的那条:xxx@xxx.xxx.xx.xx:xx (注意:不要点“新建 SSH 配置”,不然又多一个。)选好后,点“下一步”或“OK”(不同版本略有差异)。

    • 选择“下一步”,再选择“下一步”

    • 选择远程 Python 路径:(可选“现有”或“新建”)
    • 选择 “解释器”,“同步文件夹”,取消“自动上传”

    选择一:选择virtualenv环境,即python环境

    选择二:选择conda环境(这个环境我设置好了之后无法在服务器中使用source ~/.bashrc激活服务器中的conda环境,目前还不知道原因,后面如果知道会在这里更新)

    • 选好conda路径后,使用右边的“加载环境”测试所选择的conda环境是否可以被识别。并设置之后环境。
    • 如果直接选择第一条默认python,在结束此创建项目环境的过程,进入远程服务器之后,仍然可以重新在此更改环境配置/或者直接删除此项目环境重新建立。
    • PS:如果需要确认服务器上conda/miniconda的存在路径,可在pycharm终端ssh到服务器,输入 ssh -p xx(端口号) x@xxx.xxx.xx.xx(用户名@ip地址) which conda

    • 此创建conda类似于conda create -n xxx python=3.10
    • “创建”->“确定”->“确定”
    • 完成后:
    • 当前项目的解释器,就变成了: Remote Python 3.x.x (sftp://x@xxx.xxx.xx.xx:x/…)

    • PS:这只是“项目对这条 SSH 的使用方式”,SSH 本身还是只有一条。

    以后另一个项目要用远程解释器时:

    • 重复这一步:添加解释器 → 选同一条 x@xxx.xxx.xx.xx

    • 只在“Python 路径”那一步换成别的虚拟环境路径

    • 不再新建新的 SSH 配置

    第三步:配置代码自动上传(Deployment)

    目的:本地改动能自动上传到服务器某个目录+下载到本地目录等

    1. 打开 Deployment 设置

  • 打开设置

  • 2. 新建一个 SFTP 服务器配置

  • 名字随便写。

  • 3. 绑定到同一条 SSH

    • 勾选“仅对此项目可见”的意义:
      • 勾选:
        • 这个 Deployment 配置会写在当前项目的 .idea 目录里,此项目专用
        • 打开别的项目则看不到这条部署配置,别的项目本地路径和远程路径都不一样,用了也没意义。
        • 适合这个配置就是“这个项目专用”的路径如:
          • 本地路径:当前项目根目录
          • 远程路径:比如 /xxx/projectA,/xxx/projectB
        • 界面清晰整洁,打开什么项目,就显示这个项目的专属配置,不会误删
        • 注:如果把项目连同 .idea 一起拷走 / 放到别的电脑,这个部署配置也跟着走。
        • 以后要删除:
          • 打开这个项目
          • 设置 → 构建、执行、部署 → 部署
          • 选中这个服务器 → 点 – 删除 → 应用
          • 或者,直接把这个项目文件整个从磁盘中删掉。
      • 不勾选:
        • 这个 Deployment 配置变成 全局的
          • 存在 PyCharm 的全局配置里(pycharm的options文件夹下面那堆 xml)
        • 其他项目打开设置 → 部署时,也能看到这一条服务器配置。
        • 适合 真的是多个项目都用完券一样的本地路径和远程路径结构
        • 方便复用完全一样的部署配置,远程路径都用/xxx/projectA
        • 以后要删除:
          • 在任意一个项目里打开 Deployment 设置,删除此项。
          • PS:有时容易误删
      • 现在我采用的是勾选,因为我的每个项目的远程目录,大多是不一样的,例如:
      • 项目 A → /xxx/projA,项目 B → /xxx/projB

    • PS:SSH链接我采用的是全局配置,即一台服务器只建一条,所有项目复用

    4. 设置本地目录 ↔ 远程目录的映射(Mapping)

    • 切到“映射”(Mappings) 页,本地项目根目录:PyCharm 会自动填当前项目路径;
      • 从服务器上下载文件时也会直接下载到此路径
    • 选择服务器上的部署路径,选择时也可以xin jia

    OK了!

    打开使用

    • “启动SSH会话”打开页面后选择“Remote…”
    • 如果服务器里有conda,可用source ~/.bashrc

    PS:以后想要设置是否自动上传/自动上传的方式

    以后新项目怎么做(复用)

    • 当以后再建一个新项目 B,并且仍然在这台服务器上跑:
      • pycharm打开项目 B。
      • 按“第二步”那套:
        • 打开项目的 Python 解释器设置;
        • 添加解释器;
        • 选择 已有的ssh服务器 x@xxx.xxx.xx.xx:xxx;
        • 换一个新的 python 路径(比如另一个虚拟环境)。
      • 如果需要上传,同样在 Deployment 里:
        • 新建一个服务器配置,也用同一 IP + 端口 + 用户;
        • 只把映射路径改成 /xxx/projectB。

    这样:

    • SSH 配置:始终只有那一条服务器记录;

    • 各项目只是“用同一把钥匙,进楼里的不同房间”。


    第五步:以后要“清理”某台远程机 / 解释器时怎么做

    具体见https://blog.csdn.net/Xiao123baihu/article/details/154957551?spm=1001.2014.3001.5501

    赞(0)
    未经允许不得转载:171主机测评 » 在Pycharm中SSH远程链接服务器
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址