使用跳板机在 PyCharm 中配置远程服务器的 Python 环境

news/2024/10/24 14:59:32

使用跳板机在 PyCharm 中配置远程服务器的 Python 环境

在需要通过跳板机连接到远程服务器时,PyCharm 提供了一些内置的方式,可以让你通过中间服务器访问远程机器上的 Python 解释器。本指南将介绍如何使用 PyCharm 通过跳板机连接,并在远程服务器上运行 Python。


前提条件

  • PyCharm Professional 版本。
  • 能够通过跳板机(Bastion host)访问远程服务器。
  • 远程服务器上已安装 Python。
  • 跳板机和目标服务器上的 SSH 访问已配置好(包括密钥或密码认证)。

配置步骤

1. 准备 SSH 访问(通过跳板机)

首先,确保你可以通过命令行手动通过跳板机连接到目标服务器。在本地终端中运行以下命令测试:

ssh -f -N -L 本地端口号:bastion_host:服务器端口号 user@target_server

例如:

ssh -f -N -L 1419:gadi-cpu-bdw-00.gadi.nci.org.au:22 xp@gadi.nci.org.au

这个命令使用 SSH 隧道(SSH tunneling) 将本地端口与远程服务器上的端口连接起来。

  • ssh :启动 SSH 客户端,用来与远程服务器建立安全连接。
  • -f :让 SSH 在后台运行。这意味着 SSH 会在隧道建立后转为后台运行,而你可以在终端中继续其他操作。
  • -N :告诉 SSH 不要在远程服务器上执行任何命令。通常用于端口转发场景,只负责建立隧道,而不执行远程命令。
  • -L 1419:gadi-cpu-bdw-00.gadi.nci.org.au:22 :这是 本地端口转发 的配置,具体解释如下:
    • 1419 :这是 本地机器 上的端口号。任何连接到本地机器的 localhost:1419 的流量都会通过 SSH 隧道转发。
    • gadi-cpu-bdw-00.gadi.nci.org.au:22 :这是 远程服务器(gadi-cpu-bdw-00.gadi.nci.org.au) 的地址和端口号。该服务器的 SSH 端口是 22,因此通过本地 1419 端口的所有流量都会转发到 gadi-cpu-bdw-00.gadi.nci.org.au22 端口。
  • xp@gadi.nci.org.au :这是你连接 跳板机 的 SSH 用户名和地址。你会先通过 SSH 登录到 gadi.nci.org.au(跳板机),再通过隧道转发的方式连接到远程服务器 gadi-cpu-bdw-00.gadi.nci.org.au

2. 编辑 SSH 配置文件 (可选)

为了简化使用跳板机的连接配置,建议在 SSH 配置文件中配置跳板机。编辑或创建 ~/.ssh/config 文件,并添加如下内容:

Host Gadi
HostName gadi-cpu-bdw-00.gadi.nci.org.au
User xp
ProxyJump xp@gadi.nci.org.au  # 配置跳板机
ForwardX11 yes
ForwardX11Trusted yes

这样,你就可以通过 ssh Gadi 命令直接通过跳板机连接目标服务器。

3. 打开 PyCharm 设置

  1. 在 PyCharm 中,点击左上角的 File ,然后选择 Settings (对于 macOS 用户,选择 PyCharm > Preferences )。
  2. 在设置窗口中,选择 Project: <your_project_name> > Python Interpreter

4. 添加 SSH 解释器

  1. 点击 Python Interpreter 右侧的 齿轮图标 ,然后选择 Add Interpreter
  2. 在弹出的窗口中,选择 SSH Interpreter ,然后点击 Next

5. 配置跳板机连接

  • Host :输入 localhost,因为 SSH 隧道将本地端口 1419 映射到了远程服务器。
  • Port :使用 1419,这是你为 SSH 隧道指定的本地端口。
  • Username :输入 xp,这是你在远程服务器上的用户名。
  • Authentication :选择 Private KeyPassword 进行身份验证。如果使用 SSH 密钥,确保 PyCharm 可以正确找到你的私钥文件。

PyCharm 将自动解析跳板机的配置,建立连接。

6. 选择远程 Python 解释器

PyCharm 会尝试连接到远程服务器,并扫描可用的 Python 解释器。通常会找到 /usr/bin/python3,但如果你有特定的虚拟环境或其他 Python 安装路径,你可以手动指定。

  • 如果 PyCharm 成功检测到解释器,请选择正确的 Python 解释器。
  • 如果没有自动找到,你可以手动输入远程服务器上的 Python 解释器路径(例如 /home/xp7/anaconda3/bin/python)。

7. 完成配置

确认连接和解释器路径无误后,点击 Finish ,PyCharm 会完成连接设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/75486.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

ElevenLabs Voice Design :可通过文本创建个性化语音;苹果推出首个开发者测试版丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

nginx总结

使用auth_basic控制访问nginx代理的网站,直接访问如果需要添加安全性,如需要输入用户名+密码才能访问页面,可以通过nginx的auth_baisc配置来实现检查htpasswd 一般nginx的安装之后会自带或者nginx容器镜像自带 root@ea6255db9f51:/config/nginx/site-confs# htpasswd Usage:…

1024程序员节Fast Request发福利啦

今天是 1024 程序员节,祝各位老铁程序员节快乐!愿大家安全上线,永无 bug,代码行行如丝滑。 首先,特别感谢大家一直以来对 Fast Request 的支持与厚爱。在这个属于程序员的节日里,我们准备了一波诚意满满的福利,送给每一位辛勤付出的你! 以下福利是我们对大家辛勤付出的…

浪潮服务器开机不进系统

浪潮服务器开机无法进入系统的问题,可能由多种因素导致。以下是一些常见的原因及其相应的解决方法: 一、电源故障 问题描述:电源故障可能导致服务器无法正常启动。 解决方法: 检查电源插头和电源线是否松动或损坏。 确保电源供应正常,尝试更换电源线或连接到其他插座进行测…

Cinemachine系列——AimComposer

这个虚拟摄像机的瞄准算法会旋转摄像机,使其朝向指定的“注视”目标。同时,它还会应用偏移量、阻尼效果和构图规则。 主要要点: 朝向目标:摄像机会自动调整其方向,以面向指定的注视目标,例如角色的上脊椎或头骨、车辆,或通过程序控制或动画的虚拟对象。 偏移量:可以为摄…

Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度

一、前言说明 在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作。经过搜索发现很多人都有这个需求,需要在js文件中加上一点代码才行,也就…

2024-2025-1 20241401 《计算机基础与程序设计》 第五周学习总结

班级链接 2024计算机基础与程序设计作业要求 第五周作业作业目标 ①Pep/9虚拟机 ②机器语言与汇编语言 ③算法与伪代码 ④测试:黑盒,白盒教材学习内容总结 《计算机科学概论》第六章计算机操作:介绍了计算机的基本操作,包括机器语言的基本概念。 机器语言是由一系列二进制代…

Thymeleaf基本使用

https://blog.csdn.net/weixin_45719444/article/details/122891930 介绍 官网:https://www.thymeleaf.org/ Thymeleaf是一个用于Web和独立环境的现代服务器端Java模板引擎。 简单示例打开IDEA,创建一个maven工程(quickstart archetype)。 在pom.xml文件中导入依赖,目前最…